2

次の要素が特定のタイプであるかどうかをテストするにはどうすればよいですか。たとえば、画像に続く次の要素も画像であるかどうかをテストしたいです。もしそうなら、その要素にクラスを追加したい

たとえば、この場合は true をトリガーし、最初の画像にクラスを追加します...

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

ただし、この場合、false がトリガーされ、何も起こりません...

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

3 に答える 3

7

.next() [docs]と一緒に.filter() [ docs]を使用できます:

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

[docs] で次の隣接セレクタ [docs].prev() 使用することもできます。

$('img + img').prev().addClass('someClass');
于 2012-02-09T14:04:43.457 に答える
4

.is()jQueryのメソッドを使用してそれを行うことができます。

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

したがって、説明したようなクラスを追加するには:

var yourimage = $("#yourimage");

if (yourimage.next().is("img")){
   yourimage.addClass("yourExtraClass");
}
于 2012-02-09T14:03:31.317 に答える
0
var nextImage = $(this).next('img');

このnextメソッドは、標準の jQuery セレクターを受け入れます。

于 2012-02-09T14:03:04.530 に答える