Учтите это:
<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
)