我有一个包含值的span elemets列表:
<span>Example1</span>
<span>Example2</span>
<span>Example3</span>
<span>Example4</span>
<span>Example5</span>
我如何能够检查是否存在例如“Example4”的范围?
我尝试过以下但没有结果:
if($('span').textContent = value){
console.log('exists');
}
if($('span').html(value){}
if($('span').html(value).length > 0){}
但他们总是回归真实......
感谢阅读:)
答案 0 :(得分:4)
有一个:contains
选择器:
if ( $('span:contains("Example4")').length > 0 ) { ... }
但是,如果<span>
个元素包含"Example 40"
等文本,则此方法为will fail。对于严格比较,您可以使用.filter
方法使用技巧:
if ( $('span').filter(function() {
return $.trim($.text(this)) === 'Example4';
}).length > 0 ) { ... }
答案 1 :(得分:0)
如果任何成员匹配给定条件,则Array方法some
(IE9 +)返回true:
var matched = $('span').toArray().some(function(node) {
return node.innerHTML == 'Example4';
});
答案 2 :(得分:0)
请先测试一下,然后用它来装入您的代码块。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="jquery-1.7.1.js"></script>
<script type="text/javascript">
function createElement123(){
if ( $('span:contains("Example4")').length > 0 ) {
alert('Exists');
} else {
alert('Not Exists');
}
}
</script>
</head>
<body>
<input type="button" onclick="createElement123()" value="Check Text Exists"/>
<span>Example1</span>
<span>Example2</span>
<span>Example3</span>
<span>Example4</span>
<span>Example5</span>
</body>
</html>
希望它能帮助您解决问题。