微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查元素是否在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/

原文地址:https://www.jb51.cc/jquery/184729.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐