JQuery - выберите родительский ли из содержимого Div

Я пытаюсь выбрать родительский LI в зависимости от того, что находится внутри div, вот где я сейчас...

http://jsfiddle.net/qYdwR/1257/

<ul>
 <li>
 <div>
 Myitem
 </div>
 <div>
 John Resig
 </div>
 </li>
</ul>

$( "div:contains('John')" ).css( "text-decoration", "underline" );

Это правильно подчеркивает div, содержащий слово John, теперь я хочу, чтобы он применял некоторый стиль к родительскому li, который содержит этот div

3 ответа

Используйте.parents() или.parent()

$( "div:contains('John')" ).parents("li:first").css( "text-decoration", "underline" );

другой способ: использовать ": has"

$( "li:has(div:contains('John'))" ).css( "text-decoration", "underline" );


Используйте closest к путешествию и найдите ближайшего предка, который соответствует селектору:

$( "div:contains('John')" ).closest('li').css("text-decoration", "underline")


$( "div:contains('John')" ).css( "text-decoration", "underline" ).parent().css("background-color", "green");

Должен сделать трюк

licensed under cc by-sa 3.0 with attribution.