解决ul,li中的第一个/最后一个项目

时间:2011-04-15 17:02:03

标签: jquery

如何检查被点击的DOM元素是否是无序列表项中的“第一个”li元素或“last”li元素?

5 个答案:

答案 0 :(得分:7)

根据您在编辑之前出现的问题以及您的评论,您似乎正在回复被点击的li img,并试图找出包含li的内容是否正确第一个或最后一个孩子。

使用.is().closest()一起检查:

$('ul li img').click(function() {
    var $li = $(this).closest('li');

    if ($li.is(':first-child')) {
        // First
    } else if ($li.is(':last-child')) {
        // Last
    }
});

答案 1 :(得分:3)

试试这个:

<ul class="myUnorderedList"><li>First</li><li>Last</li></ul>

JS:

$('.myUnorderedList li').click(function(){

   if($(this).is(':first')) console.log('first li');
   if($(this).is(':last')) console.log('last li');

})

答案 2 :(得分:1)

使用 first() last()

$('#ulid > li').first();
$('#ulid > li').last();

答案 3 :(得分:0)

如果这是您的代码:

<ul class="myUnorderedList"><li>First</li><li>Last</li></ul>

然后您可以通过第一个选择器(http://api.jquery.com/first-selector/)或最后一个选择器(enter link description here)访问它,如下所示:

<script>$(".myUnorderedList>li:first").css("font-style", "italic");</script>

<script>$(".myUnorderedList>li:last").css("font-style", "italic");</script>

答案 4 :(得分:-1)

也许这可以帮助

<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
</ul>

使用此jquery代码

$("li").click(function(){
   if ($("li:first").text() == $(this).text() ){
      alert("first");
   }
  if ($("li:last").text() == $(this).text() ){
     alert("last");
  }
});

http://jsfiddle.net/GT7Mm/

上查看