有没有办法查看元素中是否包含字符串?特别是链接?
例如:
<a href="#">Some text foo_string more text</a>
将返回“a”作为元素。 jQuery或PHP - 没关系。谢谢!
澄清:
我想知道的是包含foo_string的元素。不是元素是否包含字符串。
答案 0 :(得分:5)
检查元素是否包含字符串
要检查元素是否符合此条件,请尝试使用jQuery contains
选择器:
if ($('#some-element').is(':contains("foo_string")')) {
// Do something...
}
请注意,此选择器区分大小写。
选择包含字符串
的元素要选择符合此条件的元素,只需将选择器作为参数传递给主jQuery函数,就像使用任何其他选择器一样:
var element_with_foo = $(':contains("foo_string")');
请记住,建议限制选择的范围,否则它将适用于整个DOM。
答案 1 :(得分:2)
使用jquery
if($('a').text().length < 1 ){
alert("empty")
}else{
alert("not");
}
<强>更新强>
$(":contains('Some text foo_string')"); //this get all the element with the text in it
您可以使用.prop('tagName')
获取标记名称..
答案 2 :(得分:1)
您可以使用innerText或textContent DOM属性和JavaScript的正则表达式方法。
e.g。
var el = document.getElementById('my-link');
var txt = el.innerText;
return txt.match(/str/);
这里使用jQuery更简单,但这是一个纯JavaScript解决方案。
答案 3 :(得分:1)
试试这个......
if ($('a').html().indexOf('foo_string') != -1) // doSomething