2017-01-26 8 views
2

Я пытаюсь проверить, содержит ли элемент div определенное слово, а затем делать что-то на основе или не содержит это слово.JQuery: содержит неправильную работу

Я использую: содержит селектор, но даже если я использую слово не в div, он все еще выполняет функцию. Кроме того, если я запустил if if else, то всегда будет проходить независимо от того, находится ли слово в div или нет.

Это код, у меня есть:

if ($("#navBreadCrumb a:contains('Apples')")) { 
 
    console.log('Not Oranges'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="navBreadCrumb"> 
 
    <a class="bp" href="#">Home</a> &nbsp;::&nbsp; 
 
    <a class="bp" href="#">Fruits</a>&nbsp;::&nbsp; 
 
    <a class="bp" href="#">Citrus</a>&nbsp;::&nbsp; 
 
    <a class="bp" href="#">Oranges</a>&nbsp;::&nbsp; 
 
    Navel Oranges 
 
</div>

Что я упускаю с: содержит селектор?

Заранее спасибо.

-S

+1

Поскольку в состоянии селектора JQuery все дни верно. Используйте '$ (« # navBreadCrumb a: содержит («Яблоки») ». Length> 0' – Mohammad

+0

Aaahh ... получил. Огромное спасибо. – Sergio

ответ

2

So close. Вы должны использовать .length, чтобы проверить, существует ли элемент, содержащий «Apple».

Так оно и должно быть:

if ($("#navBreadCrumb a:contains('Apples')").length) { 
    console.log('Not Oranges'); 
} 

Fiddle

+0

Это сделало. Спасибо, Робин. – Sergio

+0

@ Серхио Великий! Рад, что это помогло. –

 Смежные вопросы

  • Нет связанных вопросов^_^