Jquery селектор: как выбрать элемент - PullRequest
0 голосов
/ 21 декабря 2018
<h2>
 <a href="exmpale">repeatedtext</a>
</h2>
<p>
</p>
<p> required things    </p>   <--- select this element

У меня есть приведенная выше последовательность HTML.Единственная подсказка - h2 со ссылкой на текст «repeattext»

Я хочу выбрать все элементы, показанные как «выбрать этот элемент», который идет после h2, за которым следует p

, как это сделатьв jquery.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Вы можете использовать h2:contains(repeatedtext) + p + p в качестве селектора

$('h2:contains(repeatedtext) + p + p').css('color', 'green');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h2>
 <a href="exmpale">repeatedtext</a>
</h2>
<p>
</p>
<p> required things    </p>   
<h2>
 <a href="exmpale">not repeated</a>
</h2>
<p>
</p>
<p> not required things    </p>   
<h2>
 <a href="exmpale">repeatedtext</a>
</h2>
<p>
</p>
<p> required things    </p>   
0 голосов
/ 21 декабря 2018

Используйте селектор :contains() для выбора элемента, имеющего специальный текст, и используйте .next() для выбора следующего p элемента

$("h2 > a:contains('repeatedtext')").parent().next("p").next().css("color", "red");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h2>
 <a href="exmpale">repeatedtext</a>
</h2>
<p>text</p>
<p>required things</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...