2013-05-01 4 views
1

Как выполнить поиск в HTML-коде с помощью JQuery? Я хочу найти строку в HTML-коде, а затем скрыть div. Это не работает:Искать в пределах HTML-кода?

<div class="example"> 
test 
<img src="example.jpg"></div> 
$(document).ready(function(){ 
    $(".example:contains('example.jpg')").hide(); 
}); 

Но когда я говорю это, чтобы искать «тест» вместо «example.jpg», это действительно работает?

+4

: содержит контент поиск текста, а не содержание атрибутов ребенка элементы. –

+0

Есть ли селектор для содержимого HTML тогда? Я пробовал .attr(), и это не работает. – user2338015

+1

'$ ('[src =" example.jpg "]')' будет делать это – Blazemonger

ответ

1
$('img[src="example.jpg"]').parent().hide(); 

Но это очень плотно связанный код, вы должны действительно разработать свою разметку лучше, чтобы справиться с ней.

0

попробуйте следующее

$(document).ready(function(){ 
if($('.example').html().indexOf('example.jpg')!=-1){ 
$('.example').hide(); 
} 
}); 
+0

В интересах будущих пользователей вы можете рассмотреть возможность объяснения _why_. – Ben

2

:has Объединить и attribute-equals селекторы.

$('.example:has([src="example.jpg"])').hide(); 

http://jsfiddle.net/J9bgt/

это было бы более эффективным, в связи с тем, что :has является пользовательский селектор реализован JQuery:

$('.example').filter(':has([src="example.jpg"])').hide(); 
Смежные вопросы