我试图检查 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> ::
<a class="bp" href="#">Fruits</a> ::
<a class="bp" href="#">Citrus</a> ::
<a class="bp" href="#">Oranges</a> ::
Navel Oranges
</div>
我在 :contains 选择器中缺少什么?
提前谢谢您。
-S
最佳答案
如此接近。您应该使用 .length
来检查包含“Apple”的元素是否存在。
所以应该是:
if ( $("#navBreadCrumb a:contains('Apples')").length ) {
console.log('Not Oranges');
}
关于jQuery :contains not working properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875364/