jQuery :contains not working properly

标签 jquery selector contains

我试图检查 div 元素是否包含某个单词,然后根据它是否包含该单词执行某些操作。

我正在使用 :contains 选择器,但即使我使用不在 div 中的单词,它仍然会运行该函数。另外,如果我运行 if else,则无论该单词是否在 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>

我在 :contains 选择器中缺少什么?

提前谢谢您。

-S

最佳答案

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

所以应该是:

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

Fiddle

关于jQuery :contains not working properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875364/

相关文章:

JQuery 类选择器,选择带有 "-"(连字符)的元素

php - jQuery - 使用 :contains for instant search with nested divs/classes?

如果 css 元素的值等于,Javascript 更改 div 背景

javascript - Jquery 自动完成插件不显示成功响应

javascript - 使用换行符更改 html 标签 Jquery/Javascript

java - 如果字符串包含两个带有 IgnoreCase 的单词之一

java - 尝试将文件数据与字符串进行比较

java - Jsp页面如何显示实时/流图

jquery - 单击这个或那个,然后执行某些操作

javascript - Cheerio 属性 StartsWith 选择器