jquery获取最后一个突出显示的元素值

时间:2011-09-14 11:50:27

标签: jquery listitem

我有一些名为list items selectedli的{​​{1}}与css background-color: #efefef;

我想获取应用了list item类的最后一个突出显示的selectedli的值。

这是我的代码......

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
    $('#btnSelect').click(function() {
        alert( $('#wrapper').find('li').filter("[class=leaf]").last().text() ); //bingo
        alert( $('#wrapper').find('li').hasClass('selectedli').last().text() ); //fail to get value when the class got 2 value inside...
        alert( $('#wrapper').find('li').filter('selectedli').last().text() ); //fail to get value when the class got 2 value inside...
        alert($('#wrapper').find('li .selectedli').last().text());
    });
</script>

<div id="wrapper">
    <div id="panel" class="cats1">
        <ul id="list_items">
            <li class="root" data-category_id="1">Fashion</li>
            <li class="root selectedli" data-category_id="2">Computer</li>
        </ul>
    </div>
    <div id="panel" class="cats1">
        <ul id="list_items">
            <li class="root" data-category_id="5">Laptop</li>
            <li class="root selectedli" data-category_id="6">Monitor</li>
        </ul>
    </div>
    <div id="panel" class="cats1">
        <ul id="list_items">
            <li class="leaf" data-category_id="13">LCD Dell</li>
            <li class="leaf selectedli" data-category_id="14">LCD Acer</li>
        </ul>
    </div>
</div>

<input type="button" id="btnSelect" value="Select">

我似乎无法让我的代码工作。有人可以帮我解决问题。

3 个答案:

答案 0 :(得分:1)

试试这个:

$("#list_items .selectedli").last().data("category_id");

DEMO (已更新):http://jsfiddle.net/ugdYm/1/

答案 1 :(得分:0)

只需$("#list_items li.selectedli").last().attr("data-category_id");

更新:缺少last()

答案 2 :(得分:0)

还有一个建议,不要使用jQuery 1.5这个版本有问题。