如何检查DOM元素是否包含字符串

时间:2013-03-18 14:24:19

标签: php javascript jquery

有没有办法查看元素中是否包含字符串?特别是链接?

例如:

<a href="#">Some text foo_string more text</a>

将返回“a”作为元素。 jQuery或PHP - 没关系。谢谢!

澄清:

我想知道的是包含foo_string的元素。不是元素是否包含字符串。

4 个答案:

答案 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')获取标记名称..

fiddle here updated fiddle here

答案 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