使用javascript查找给定元素前后的节点

使用javascript查找给定元素前后的节点,javascript,jquery,Javascript,Jquery,比如说 <p>Content test</p> <div class="comment">Test content</div> <p>lorem ispsum</p> <p class="comment">lorem ispsum</p> <div> <h4>lorem ipsum<h4> <p>Take action</p>

比如说

<p>Content test</p>
<div class="comment">Test content</div>
<p>lorem ispsum</p>
<p class="comment">lorem ispsum</p>

<div>
   <h4>lorem ipsum<h4>
   <p>Take action</p>
   <p>lorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsum</p>
</div>
<h3 class="comment">Hello world</h3>
内容测试

测试内容 伊普苏姆

lorem ispsum

乱数假文 采取行动

自相矛盾自相矛盾自相矛盾自相矛盾自相矛盾自相矛盾自相矛盾自相矛盾自相矛盾自相矛盾

你好,世界 我有一个节点
采取行动


查找下一个元素有一个类名
comment
来自节点
采取行动

,而prev元素有一个类名
comment
来自节点
采取行动

让我们假设p标记如下所示:

<p id='mid'>Take action</p>  
使用jquery(下一步)


如果您的结构像前面提到的那样是固定的,那么您可以得到如下的下一个元素

$( "p:contains('Take action')").parents('div').next(".comment");
和前面的元素类似

$( "p:contains('Take action')").parents('div').prev(".comment");
如果您需要任何元素中的第一个下一个元素,那么可以使用如下所示的nextAll

$( "p:contains('Take action')").nextAll(".comment:first");

但是,对于您正在查找的此元素,必须是它的同级。

使用class
$('.comment')以该元素为目标
既然你想两者兼得anyway@guradio我需要找到具有类名
comment
@guradio的next和prev元素,如何在Javascript中将其作为节点获取?您在什么事件下运行代码以获取对
p
元素的引用?您可以使用$(“p:contains('Take action'))获取该节点
next()
prev()
p
中不起作用,因为
.comment
元素不是它的兄弟元素如果我找到父元素并使用next()和prev(),我想父元素('div')就是我给出代码的例子。这不是确切的密码。我需要输出作为元素
$( "p:contains('Take action')").parents('div').prev(".comment");
$( "p:contains('Take action')").nextAll(".comment:first");