我如何阅读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作为字符串。
答
- 使用
attr("id")
让每个L1的ID - 您需要遍历每个L1使用
.each()
- 您可以使用
.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>
答
而你需要为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(",");
'this.id'给出了与$(this).attr('id')'相同的结果。 – nnnnnn
@nnnnnn是给jQuery一个 – guradio
是的,但'this.id'在jQuery函数内工作,更容易阅读,而且更有效率。 – nnnnnn