使用javascript在给定元素之前和之后查找节点

时间:2017-05-18 09:51:47

标签: 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>lorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsum</p>
</div>
<h3 class="comment">Hello world</h3>

我有一个节点<p>Take action</p>

从节点comment中查找下一个具有类名<p>Take action</p>的元素,并且prev元素具有来自节点comment的类名<p>Take action</p>

2 个答案:

答案 0 :(得分:0)

让我们说p标签如下:

<p id='mid'>Take action</p>  

使用jquery(上一个)

$('#mid').parent().prev('.comment');  

使用jquery(下一个)

$('#mid').parent().next('.comment');

答案 1 :(得分:0)

如果你的结构像我们提到的那样修复,那么你可以得到下面的元素。

$( "p:contains('Take action')").parents('div').next(".comment");

以及之前的元素如下

$( "p:contains('Take action')").parents('div').prev(".comment");

如果您需要来自任何元素的第一个next元素,那么您可以使用nextAll,如下所示..

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

但是对于这个元素,你发现它必须是它的兄弟。