Jquery:包含不正常

时间:2017-01-26 14:10:25

标签: jquery selector contains

我正在尝试检查div元素是否包含某个单词,然后根据是否包含该单词做某事。

我正在使用:contains选择器,但即使我使用不在div中的单词,它仍然运行该函数。此外,如果我运行if else,则无论if是否在div中,if总是会传递。

这是我的代码:

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 个答案:

答案 0 :(得分:2)

如此接近。您应该使用.length来检查是否存在包含“Apple”的元素。

所以它应该是:

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

Fiddle