1

我在遍历一个由 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]。我真正需要的是获取signalRconveyanceId-XXYY每个列表元素的 id 部分。我怎么能做到这一点?

4

3 回答 3

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);
});

更新的小提琴

于 2013-10-04T08:31:46.230 回答
0

在您的代码li中实际上不是元素 - 它是索引。您可以使用...引用每个li元素this

var listItems = $("#unitlist li");
listItems.each(function() {
    console.log(this.id);
});
于 2013-10-04T08:33:46.547 回答
0

我懂了:

 var listItems = $("#unitlist li");
   listItems.each(function(li) {
   $id = $(this).attr('id');
   console.log($id);
 });

http://jsfiddle.net/lharby/cTEHY/

于 2013-10-04T08:34:13.867 回答