Проверьте следующий элемент в jQuery - PullRequest
2 голосов
/ 09 февраля 2012

Как проверить, является ли следующий элемент определенного типа - например, Я хочу проверить, является ли следующий элемент, следующий за изображением, также изображением. Если так, то я хочу добавить класс к этому элементу

например. если бы это было так, то это вызвало бы true и добавило бы класс к первому изображению ...

<p></p>
<img />
<img />
<p></p>

Однако, в этом случае это вызовет ложь, и ничего не произойдет ...

<p></p>
<img />
<p></p>

Ответы [ 3 ]

7 голосов
/ 09 февраля 2012

Вы можете использовать .next() [документы] вместе с .filter() [документы] :

$('img').filter(function() {
    return $(this).next('img').length === 1;
}).addClass('someClass');

Вы также можете использовать следующий соседний селектор [документы] с .prev() [документы]

$('img + img').prev().addClass('someClass');
4 голосов
/ 09 февраля 2012

Вы можете использовать метод jQuery .is() для этого:

$("#yourimage").next().is("img");

Итак, чтобы добавить класс, как вы описали:

var yourimage = $("#yourimage");

if (yourimage.next().is("img")){
   yourimage.addClass("yourExtraClass");
}
0 голосов
/ 09 февраля 2012
var nextImage = $(this).next('img');

Метод next принимает стандартные селекторы jQuery.

...