<div>
<div>test</div>
</div>
$("div:contains('test')").css('display','none');
나는이 사실을 알게되었습니다. 문제는 이것이 실행될 때 모든 div가 중첩되어 숨겨져 있다는 것입니다. 부모 div가 숨겨지지 않도록하려면 어떻게해야합니까? 나는 1.2.6을 사용하는 것으로 제한됩니다.중첩 된 div 내에서 선택기를 사용하려고 시도했습니다
<div>
<div>test</div>
</div>
$("div:contains('test')").css('display','none');
나는이 사실을 알게되었습니다. 문제는 이것이 실행될 때 모든 div가 중첩되어 숨겨져 있다는 것입니다. 부모 div가 숨겨지지 않도록하려면 어떻게해야합니까? 나는 1.2.6을 사용하는 것으로 제한됩니다.중첩 된 div 내에서 선택기를 사용하려고 시도했습니다
$("div:contains('test'):not(:has(div))").hide();
우아한 솔루션을 원한다면 새로운 선택기를 정의하십시오. 불행히도 :empty
은 텍스트 노드가있는 것으로 충분하지 않습니다. 어린이는 비어 있습니다.
$.extend($.expr[':'], {
leaf: function(elem, i, match) {
return $(elem).children().length == 0;
}
});
그리고 당신이 할 수 있습니다
$("div:leaf:contains('test')").hide();
전설, 그 일을 할 것입니다. 고맙습니다! – Dtour