Различное нажатие на последний элемент списка ссылок - PullRequest
0 голосов
/ 08 июня 2009

Допустим, у нас есть следующий список:

<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 ]

4 голосов
/ 08 июня 2009

Если вы имеете в виду обработчик события щелчка только на последний элемент:

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

Если вы хотите, чтобы обработчик щелчков действовал иначе на последнем:

$("li").click(function() {
  if ($(this).is(":last-child")) {
    // do something
  } else {
    // do something else
  }
});
2 голосов
/ 08 июня 2009

Попробуйте это:

$('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
});
1 голос
/ 08 июня 2009

Вы можете использовать: последний селектор.

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

Таким образом вы добавляете обработчик события click к последнему li в выбранном UL.

0 голосов
/ 08 июня 2009

Просто используйте селектор: last-child.

$ ('ul li: last-child'). Click (myFunc);

...