对链接列表的最后一项进行不同的单击操作

时间:2009-06-08 13:04:21

标签: jquery click

假设我们有以下列表:

<ul>
  <li><a href="#">Link 1</a></li>
  <li><a href="#">Link 2</a></li>
  <li><a href="#">Link 3</a></li>
  <li><a href="#">Link 4 (different action)</a></li>
</ul>

是否可以在此列表的最后一项上分配不同的点击操作而不添加任何加号?我的意思是无需在最后一项或其他内容中添加例如class =“last”

4 个答案:

答案 0 :(得分:4)

如果您指的是最后一项的点击事件处理程序:

$("ul > li:last-child").click(function() {
  //
});

如果您希望点击处理程序在最后一个上执行以不同方式

$("li").click(function() {
  if ($(this).is(":last-child")) {
    // do something
  } else {
    // do something else
  }
});

答案 1 :(得分:2)

试试这个:

$('ul li a').slice(-1).click(function () {
   // Your general click handler here (All elements except last)
});

$('ul li:last-child a').click(function () {
   // Your more specific click handler here
});

答案 2 :(得分:1)

您可以使用:last selector。

 $(".yourUL li:last a").click(...);

这样您就可以将click事件处理程序添加到所选UL中的最后一个li。

答案 3 :(得分:0)

只需使用:last-child选择器。

$('ul li:last-child')。click(myFunc);