Ответ 1
Вы можете сделать это только для проверки элемента, если он первый ребенок: $(this).is(':first-child')
. Другие селектора, такие как :last-child
, тоже будут работать.
Откуда вы знаете, не является ли текущий элемент не первым ребенком?
Он должен работать с $(this)
, например:
$("li").click(function(e) {
if (/* $(this) is not the first-child */)
{
/* do something */
}
});
Вы можете сделать это только для проверки элемента, если он первый ребенок: $(this).is(':first-child')
. Другие селектора, такие как :last-child
, тоже будут работать.
Вы можете просто задать свою позицию .index()
(относительно ее братьев и сестер).
$(this).index(); // returns a zero based index position
Для всех li
в #thing
, которые не являются первыми дочерними:
$('#thing li:not(:first-child)')
Если вы хотите выбрать все, кроме первого ребенка, вот как это сделать:
$('#some-parent').children().not(':first')
Проверьте индекс
$(this).index() == 0 // is first
Кроме того, вы можете проверить, существует ли $(this).prev().length
, например:
if (!$(this).prev().length){ //This means $(this is the first child
//do stuff
}
Держите его простым, используйте DOM
$("li").click(function(e) {
if (this.previousSibling != null)
{
/* do something */
}
});
$(this).not(':first');
$("li").click(function(e) {
if ($(this).index != 0 )
{
/* do something */
}
});