我的jQuery有点生疏了(已经有几年了!)我不得不假设这已被问过100次但是我没有找到合适的术语。
我试图抓取对象的所有后代文本节点,然后,如果与文本字符串匹配,则对该对象执行某些操作。这就是我现在拥有的原因:
$(".my-item").each(function(){
var content = $(this).find('*').text();
if (content.indexOf('mySearchString'>0)){
//do something
}
})
但是,我似乎无法找到所有文本。只是直接的后代。示例HTML:
<div class="my-item">
this text is part of the var 'content'
<div>
this text is not
</div>
</div>
答案 0 :(得分:0)
您必须访问每个节点的textContent
,并且您可以直接在过滤器中执行,并返回匹配项,或者如果您想直接使用它们,请使用常规each
循环< / p>
$(".my-item").each(function(){
var $children = $(this).children();
$children.contents().each(function(i,node){
if (node.nodeType === 3 && node.textContent.indexOf('mySearchString') !== -1) {
//do something
}
});
});