我正在努力遍历一个无序列表,这是由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-part signalRconveyanceId-XXYY
。我怎么能这样做?
答案 0 :(得分:8)
尝试使用jquery 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);
});
答案 1 :(得分:0)
在你的代码中li
实际上不是元素 - 它是索引。您可以使用li
...
this
元素
var listItems = $("#unitlist li");
listItems.each(function() {
console.log(this.id);
});
答案 2 :(得分:0)
我明白了:
var listItems = $("#unitlist li");
listItems.each(function(li) {
$id = $(this).attr('id');
console.log($id);
});