2017-06-16 86 views
-4

我想要div文本下的所有元素的ID。我如何閱讀ID標籤的ID元素

<div id="editSortable"> 
<ul class="sortable-list ui-sortable"> 
    <li id="id1">Test 1</li> 
    <li id="id2">Test 2</li> 
    <li id="id3">Test 3</li> 
</ul> 
</div> 

我需要輸出爲id1,id2,id3作爲字符串。

回答

0
  1. 使用attr("id")讓每個L1的ID
  2. 您需要遍歷每個L1使用.each()
  3. 您可以使用.map()來獲取所有的id到一個數組

讓每個ID

$('#editSortable').find('li').each(function() { 
 
    console.log(this.id) //more efficient way to get id of an element 
 
    //console.log($(this).attr("id"))//another way to get an id of element 
 
}) 
 

 
var arr = $('#editSortable').find('li').map(function() { 
 
    return ($(this).attr("id")) 
 
}).get(); 
 

 
console.log(arr)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="editSortable"> 
 
    <ul class="sortable-list ui-sortable"> 
 
    <li id="id1">Test 1</li> 
 
    <li id="id2">Test 2</li> 
 
    <li id="id3">Test 3</li> 
 
    </ul> 
 
</div>

+2

'this.id'給出了與$(this).attr('id')'相同的結果。 – nnnnnn

+0

@nnnnnn是給jQuery一個 – guradio

+2

是的,但'this.id'在jQuery函數內工作,更容易閱讀,而且更有效率。 – nnnnnn

0

你需要爲ID1,ID2,ID3作爲字符串輸出.. [方式方法]您可以使用.each()+=保存IDS將它們添加到一個變量用逗號連接除了最後一個

演示

var Ids= ''; 
 
$('#editSortable .sortable-list li').each(function(){ 
 
    var comma = $(this).index() + 1 == $('#editSortable .sortable-list li').length ? '' : ','; 
 
    Ids += this.id + comma; 
 
}); 
 

 
console.log(Ids)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="editSortable"> 
 
    <ul class="sortable-list ui-sortable"> 
 
     <li id="TEXT_1">Test 1</li> 
 
     <li id="TEXT_2">Test 2</li> 
 
     <li id="TEXT_3">Test 3</li> 
 
    </ul> 
 
</div>

0

很容易這樣做的話。

$("#editSortable ul li").each(function(){ 
 
    console.log($(this).attr("id")); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="editSortable"> 
 
<ul class="sortable-list ui-sortable"> 
 
    <li id="id1">Test 1</li> 
 
    <li id="id2">Test 2</li> 
 
    <li id="id3">Test 3</li> 
 
</ul> 
 
</div>

1

您可以使用此。它會爲你工作。

var ids = []; 
$("#editSortable").find("li").each(function() { ids.push(this.id); }); 
var result = ids.join(",");