我有以下问题,我似乎可以正常工作:我有一组父级跨度包含一组不同的标记,但其中只有一个跨度内有文本。我想提取内部跨度确切的文本匹配的父母!JQuery根据包含精确文本的子项选择父项
<span class="parent" id="1">
\t <p>..</p><p>..</p>
\t <span>text</span>
\t <a>..</a>
</span>
<span class="parent" id="2">
\t <span>some text</span>
\t <a>..</a>
</span>
....
<span class="parent" id="n">
\t <p>..</p>
\t <span>other</span>
</span>
当我搜索 “文本” 我只想要跨度ID = = “1”
我原来用的尝试含有回报2个跨度 - > ID == 1和id == 2:
我也试图与过滤器,这在我的愚见应该工作,但不:(
var element = $('.parent').filter(function() {
return ($(this).children().text()==current);
});
或
var element = $('.parent').filter(function() {
return ($(this).children('span').text() == current)
});
任何帮助将不胜感激,谢谢!
首先,作为P的块元素不应该是SPAN的子元素。如果只有一个跨度是父亲的孩子,你的第二个过滤器应该可以工作。那么也许你的浏览器解析器解析它,由于HTML标记无效 –
@ A.Wolff是对的。建议首先更正语义。 – n0m4d
我用了最后的解决方案,它对我有用。也许你的搜索文本不匹配,因为隐藏的字符。 –