我如何测试下一个元素是否是某种类型 - 例如,我想测试图像后面的下一个元素是否也是图像。如果是这样,那么我想为该元素添加一个类
例如,如果是这种情况,那么它将触发 true 并向第一张图像添加一个类......
<p></p>
<img />
<img />
<p></p>
但是,在这种情况下,它会触发错误,并且不会发生任何事情......
<p></p>
<img />
<p></p>
我如何测试下一个元素是否是某种类型 - 例如,我想测试图像后面的下一个元素是否也是图像。如果是这样,那么我想为该元素添加一个类
例如,如果是这种情况,那么它将触发 true 并向第一张图像添加一个类......
<p></p>
<img />
<img />
<p></p>
但是,在这种情况下,它会触发错误,并且不会发生任何事情......
<p></p>
<img />
<p></p>
您可以将.next()
[docs]与.filter()
[docs ] 一起使用:
$('img').filter(function() {
return $(this).next('img').length === 1;
}).addClass('someClass');
您还可以将下一个相邻选择器 [docs]与.prev()
[docs]一起使用:
$('img + img').prev().addClass('someClass');
您可以使用.is()
jQuery 的方法来做到这一点:
$("#yourimage").next().is("img");
所以要添加一个像你描述的类:
var yourimage = $("#yourimage");
if (yourimage.next().is("img")){
yourimage.addClass("yourExtraClass");
}
var nextImage = $(this).next('img');
该next
方法接受标准的 jQuery 选择器。