jquery 如何检查DOM元素是否包含字符串[已关闭]

nbewdwxp  于 2023-06-29  发布在  jQuery
关注(0)|答案(4)|浏览(119)

这个问题不太可能对任何未来的来访者有所帮助;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况有关,而这通常不适用于因特网的全球受众。为了帮助使这个问题更广泛地适用,visit the help center
十年前就关门了。
有没有一种方法可以看到一个字符串是否包含在一个元素中?特别是链接?
例如:

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

将返回“a”作为元素。jQuery或PHP -无所谓。谢谢你!

说明:

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

xmq68pz9

xmq68pz91#

检查元素是否包含字符串

要检查一个元素是否满足此条件,请尝试jQuery contains选择器:

if ($('#some-element').is(':contains("foo_string")')) {
    // Do something...
}

注意这个选择器区分大小写。

选择包含字符串的元素

要选择符合此条件的元素,只需将选择器作为参数传递给主jQuery函数,就像使用任何其他选择器一样:

var element_with_foo = $(':contains("foo_string")');

请记住,建议限制选择的范围,否则它将应用于整个DOM。

szqfcxe2

szqfcxe22#

使用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

ymdaylpp

ymdaylpp3#

您可以使用innerText或textContent DOM属性和JavaScript的regex方法。
例如

var el = document.getElementById('my-link');
var txt = el.innerText;
return txt.match(/str/);

这里使用jQuery更简单,但这是一个纯JavaScript解决方案。

fgw7neuy

fgw7neuy4#

试试这个
if ($('a').html().indexOf('foo_string') != -1) // doSomething

相关问题