0
我正在寻找获取某些文本的页面搜索的HTML,然后使用jQuery选择它所属的元素。不幸的是,这些元素没有唯一的ID。jQuery从HTML中选择文本
我正在寻找获取某些文本的页面搜索的HTML,然后使用jQuery选择它所属的元素。不幸的是,这些元素没有唯一的ID。jQuery从HTML中选择文本
考虑一下:
<div><span>some text</span></div>
然后,当你做了搜索,获得只有span
,这样做:
var elements = $('body *').contents().filter(function() {
return this.nodeType == 3 && $(this).text().indexOf("some text") != -1;
}).parent();
如果文本在其他地方找到,elements
也将包含其他元素。例如:
<div><span>some text</span><p>some text</p><strong>not the same text</strong></div>
结果将包含span
和p
元件。
最后一个例子:
<div>some text<span>some text</span><p>some text</p><strong>not the same text</strong></div>
现在的结果将有div
过,因为它是文本节点的直接父(即some text
)
你应该能够做到这一点
var element = $('*:contains("search text")');
这是你[问同样的问题早期(http://stackoverflow.com/questions/4281421/jquery-select-text-within-br-and-td-in-table)? – user113716 2010-11-26 00:34:38
可能重复的[使用JQuery查找文本字符串?](http://stackoverflow.com/questions/926580/find-text-string-using-jquery) – 2010-11-26 00:44:31
@patrick不是文本之前坐在课堂上,我可以行走; @Gert非常相似,除了我想要包含文本的父元素。 – van 2010-11-26 01:51:37