检查元素是否在jQuery中的另一个元素之前或之后

前端之家收集整理的这篇文章主要介绍了检查元素是否在jQuery中的另一个元素之前或之后前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们假设我有这个标记
<h3 id="first">First</h3>
<p>Hi</p>
<p>Hello</p>
<h3 id="second">Second</h3>
<p>Bye</p>
<p>Goodbye</p>

如何以编程方式检查一个元素,如ps之一是第一个h3之后,第二个h3之前,用jQuery?

我试图做这样的事情:

$(p).each(function(){
   if($(this).isAfter("#first") && $(this).isBefore("#second")) {
     // do stuff
   }
});

解决方法

要查看元素是否在另一个元素之后,您可以使用 prev()prevAll()获取上一个元素,并查看它是否匹配。

要查看元素是否在另一个元素之前,您可以使用next()nextAll()获取下一个元素,并查看其是否匹配。

$.fn.isAfter = function(sel){
  return this.prevAll(sel).length !== 0;
}
$.fn.isBefore= function(sel){
  return this.nextAll(sel).length !== 0;
}

演示:http://jsfiddle.net/bk4k7/

猜你在找的jQuery相关文章