![](/img/trans.png)
[英]Loop through unordered list and perform operation on each node Javascript
[英]Loop through an unordered list using Javascript
我正在努力瀏覽由kendo-ui生成的無序列表。 查看其標記,它看起來像這樣:
<ul data-role="listview" data-style="inset" data-type="group" id="unitlist">
<li>
<li>
<ul>
<li id="signalRconveyanceId-P32-HMU-01">
<a href="/UnitDetails/Index/1">P32-HMU-01
<span class="statusicon" style="background-color: #468847"></span>
</a>
</li>
<li id="signalRconveyanceId-P32-HMU-02">
<a href="/UnitDetails/Index/2">P32-HMU-02
<span class="statusicon" style="background-color: #b94a48"></span>
</a>
</li>
<li id="signalRconveyanceId-XOS-STAGING">
<a href="/UnitDetails/Index/3">XOS-STAGING
<span class="statusicon" style="background-color: #468847"></span>
</a>
</li>
<li id="signalRconveyanceId-NWI-100">
<a href="/UnitDetails/Index/4">NWI-100
<span class="statusicon" style="background-color: #"></span>
</a>
</li>
</ul>
</li>
</li>
</ul>
我的JavaScript看起來像這樣:
var listItems = $("#unitlist li");
listItems.each(function(li) {
console.log(li);
});
我可以從列表中刪除所有行,但是我從中得到的只是它們的索引號,在這種情況下為[0,...,6]。 我真正需要的是為每個列表元素獲取id部分signalRconveyanceId-XXYY
。 我該怎么做?
嘗試使用jatt attr()之類的方法,
var listItems = $("#unitlist li");
listItems.each(function(li) {
console.log($(this).attr('id'));
});
如您的HTML所示,您應該選擇列表項,例如
var listItems = $("#unitlist li ul li");
更新
var listItems = $("#unitlist li ul li");
listItems.each(function(index,li) {
console.log(li.id);
});
在您的代碼中, li
實際上不是元素-它是索引。 您可以使用this
...引用每個li
元素。
var listItems = $("#unitlist li");
listItems.each(function() {
console.log(this.id);
});
我懂了:
var listItems = $("#unitlist li");
listItems.each(function(li) {
$id = $(this).attr('id');
console.log($id);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.