jquery - 跨度 :contains() finds to many numbers

标签 jquery selector contain

这段代码:

if( $('span:contains("'+user_choice+'")').length == 0 )

使用contain选择器找到 <span> ,其中包含用户输入。用户输入user_choice是一个数字,例如 12331等等

但是代码找不到具体的<span> ,因为例如用户输入user_choice = 1将找到 12131以及包含 1 的所有数字。我只需要找到具体的<span>正是如此 1 .

contain选择器为此目的错误,我该如何纠正它以使其正常工作?

最佳答案

是的,contains 选择器不符合您的目的。顾名思义,它匹配包含指定文本作为子字符串的任何元素,而不仅仅是那些完全匹配的元素。

您可以尝试使用 .filter() :

var matchingElements = $('span').filter(function(index) {
    return $(this).text() === user_choice;
});
if(matchingElements.length === 0) {
    ...
}

关于jquery - 跨度 :contains() finds to many numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15406612/

相关文章:

javascript - XPath 可以用来搜索 &lt;script&gt; block 吗?

ios - 为什么我的#selector 不工作?

css - 根据 href 属性更改链接颜色

javascript - Underscore.js---_.contains和_.reduce的关系

javascript - 为什么点击事件在重新附加元素时不起作用?

java - 如何在 javascript 中动态设置 jquery 多选选项的 selectedText ..?

python - 检查列表中的元素

Java:如何检查字符串是否是任何 LinkedList 元素的一部分?

javascript - 如果是 Internet Explorer - 添加脚本

javascript - 如何使用jquery更改导航背景颜色部分