使用jQuery中的特定文本搜索元素
问题描述:
我想获取包含特定文本的元素。当我使用:contains选择器时,结果也是该特定元素的所有父元素。使用jQuery中的特定文本搜索元素
此外,如果实际上包含文本的元素多于,则选择器的结果非常麻烦。是否有可能只获取包含特定文本的元素?
感谢, 乔尔
编辑:
例子:
<body>
<div>
<div>
<div>text</div>
</div>
</div>
</body>
和$( “分区:包含( '文本')”)结果:
[<div>…</div>, <div>…</div>, <div>text</div>]
我想要一种方法只能得到<div>text</div>
元素。 (我知道我可以使用.get(-1)来获取最后一个元素,但是我想知道是否有更多的gemeric)。
答
你可以尝试这样的:
$(":contains('text')").each(function() {
if($(this).find(":contains('text')").length > 0) {
// ignore. this is just an element containing at least 1 child containing 'text'
}
else {
// this is an element you want, directly contains 'text'
// .. your code here ..
}
});
答
我不KHOW这样工作的权利,但你选择了它,如果它不能正常工作,发表评论我来编辑它的其他解决方案
$("div[innerHTML=text]")
你可以发布你的html以及你想获得什么元素与你不想获得什么元素的例子吗? – mrtsherman 2011-12-17 06:37:29
嗨,我不理解你,你是什么意思关于“文本”?你的意思是InnerText?或InnerHTML? – 2011-12-17 06:38:27