Так что у меня что-то вроде этого:Выбрать только элементы, которые непосредственно содержат текст
<div class="main">
<div class="useless">
text I don't want.
</div>
<div class="useless">
text I don't want.
</div>
<div class="narrow">
text I'm searching for
</div>
<div class="useless">
text I don't want.
</div>
<div class="useless">
text I don't want.
</div>
</div>
Использование JQuery это прекрасно :contains
selector, я могу искать по ключевому слову, но он будет возвращать как родителя и ребенка.
Я бы хотел, чтобы он возвращал только те элементы, которые содержат только слово, которое я ищу.
Stackoverflow рекомендуется использовать this link как предыдущую попытку, но кажется крайне неуклюжим, так как он сканирует все узлы dom и требует много нечеткого кода.
Отметить это как обман вопроса, на который вы ссылались; в то время как я ценю, что вы не удовлетворены ответами там, по причинам, которые вы дали, это все тот же вопрос, и вы не задали никаких конкретных требований, не заданных в другом вопросе. Соответствующий курс действий, вероятно, должен состоять в том, чтобы пожертвовать на этот вопрос щедрость, если/когда вы сможете это сделать. Я все еще интересуюсь этим и смотрю на него. –
* «кажется очень неуклюжим, так как он ползает на всех узлах dom» *. Это то, что вам нужно делать в любом случае. Вы также можете выбрать все узлы сразу с помощью '$ ('*')', а затем перебрать их, но в любом случае вам нужно пройти все узлы. –
Возможно, вам нужен более продвинутый селектор, например [jQuery XPath plugin] (https://github.com/ilinsky/jquery-xpath). Если вы решите использовать xpath, возможно, [этот ответ] (http://stackoverflow.com/a/2994336/771578) также поможет вам. –