有没有办法查看一个字符串是否包含在一个元素中?具体是一个链接?如何检查一个DOM元素是否包含一个字符串
例如:
<a href="#">Some text foo_string more text</a>
将返回 “a” 作为所述元件。 jQuery或PHP - 无关紧要。谢谢!
澄清:
我想知道的是,包含foo_string的元素。不是一个元素是否包含字符串。
有没有办法查看一个字符串是否包含在一个元素中?具体是一个链接?如何检查一个DOM元素是否包含一个字符串
例如:
<a href="#">Some text foo_string more text</a>
将返回 “a” 作为所述元件。 jQuery或PHP - 无关紧要。谢谢!
澄清:
我想知道的是,包含foo_string的元素。不是一个元素是否包含字符串。
检查如果元素包含字符串
要检查元素是否符合此标准,尝试了jQuery contains
选择:
if ($('#some-element').is(':contains("foo_string")')) {
// Do something...
}
注意这个选择是区分大小写。
选择包含元素(S)(S)的字符串
要选择符合此标准的元素,只是,你会与选择作为参数传递给主jQuery函数任何其他选择器:
var element_with_foo = $(':contains("foo_string")');
请记住,建议限制选择的范围,否则将应用于整个DOM。
这不是我所问的。正如我在问题中所添加的,我想知道包含特定字符串的元素。所以它可能是div,a或其他。 – 2013-03-18 14:34:15
@jeanpaul更新了答案。 – Boaz 2013-03-18 14:36:20
谢谢波阿斯,你会碰巧知道是否有一个PHP DOMDocument的等价物? – 2013-03-18 14:59:30
您可以使用innerText或textContent DOM属性和JavaScript的正则表达式方法。
例如
var el = document.getElementById('my-link');
var txt = el.innerText;
return txt.match(/str/);
在这里使用jQuery更简单,但这是一个纯粹的JavaScript解决方案。
试试这个...
if ($('a').html().indexOf('foo_string') != -1) // doSomething
使用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
u可以使用.prop('tagName')
获取标签名..
你看过jQuery吗? – castis 2013-03-18 14:25:25
你的意思是你想要包含你正在寻找的字符串的dom元素?或只是元素的名称? – 2013-03-18 14:26:58
只是元素马克。谢谢! – 2013-03-18 14:27:43