我要做的是从我的父元素(el)中的所有子元素中找到具有特定类和特定文本的元素。我只想要div
这有效$(el).children().find("div")
并找到所有孩子
所以我希望带有内部文字“hello”的div与“选中”类
$(el).children().find("div").text("hello").hasClass("selected");
上面的行没有做任何事情,或者有一些副作用是将所有这些子元素文本更改为随机的。
我不是一个jquery专家,似乎无法找到合适的选择器组合来完成工作
答案 0 :(得分:4)
使用类选择器并包含在一起,这应该
var childs = $(el).find("div.selected:contains('hello')");
答案 1 :(得分:0)
你的语法有点偏。首先,您可以单独使用find()
而不首先调用children()
,hasClass
返回布尔值而不是jQuery对象,text()
用于设置值,而不是查找元素。
要执行您需要的操作,您应该将该课程放在find()
调用中的选择器上,然后使用:contains
搜索具有相关文本内容的元素。试试这个:
$(el).find("div.selected:contains('hello')")