JQuery查找包含特定类名和文本的div

3
我想做的是从父元素(el)的所有子元素中找到具有特定类和特定文本的元素。我只想要div标签。
这个可以用以下代码实现:$(el).find("div.selected:contains('hello')"),它会找到所有带有class为"selected",且包含文本"hello"的div标签。
$(el).children().find("div").text("hello").hasClass("selected");

上面的代码行没有任何作用,也许会有一些副作用,将所有子元素的文本更改为随机文本。

我绝对不是jquery专家,也找不到正确的选择器组合来完成这项工作。


hasClass 返回真/假 - Nitin Dhomse
2个回答

5
使用类选择器和包含选择器一起使用,将会达到预期效果。
  var childs =   $(el).find("div.selected:contains('hello')");

哦,天啊,我差点就成功了。我尝试使用 .find() 但是无法让它正常工作。非常感谢你的帮助,正是我所需要的。 - djack109

0

你的语法有点问题。首先,你可以直接使用find()而不必先调用children()hasClass返回一个布尔值而不是jQuery对象,text()用于设置值,而不是查找元素。

要实现你需要的功能,你应该在find()调用中放置选择器的类,然后使用:contains搜索具有相关文本内容的元素。试试这个:

$(el).find("div.selected:contains('hello')")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接