我如何阅读ID标签的ID元素

问题描述:

我想要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作为字符串。

  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

你需要为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>

很容易这样做的话。

$("#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>

您可以使用此。它会为你工作。

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