我正在尝试为查看文本的querySelector做一个避免在内容中拾取div的文本。感谢任何想法。
JS
domdoc.querySelector('li.list_item').textContent
HTML:
<li class="list_item">
Hello
<a>
world,
<div id="tooltip">
Please ignore this
</div>
</a>
how are you
</li>
返回:
Hello world, Please ignore this how are you
想看看:
Hello world, how are you
答案 0 :(得分:2)
querySelector
将选择元素,而不是元素及其后代。
textContent
是textContent
的一项功能,而不是querySelector
的功能。
您可以克隆列表项,从中删除div,然后获取textContent。
var li = document.querySelector('li.list_item');
var duplicate = li.cloneNode(true);
duplicate.querySelector("div").remove();
console.log(duplicate.textContent);
<ul>
<li class="list_item">
Hello
<a>
world,
<div id="tooltip">
Please ignore this
</div>
</a> how are you
</li>
</ul>
答案 1 :(得分:1)
只需replace
工具提示文字并修剪空格。
const text = document.querySelector(`li.list_item`).textContent
const tooltip = document.querySelector(`#tooltip`).textContent
const message = text.replace(tooltip, ``).replace(/\s+/g, ` `).trim()
console.log(message)
<li class="list_item">
Hello
<a>
world,
<div id="tooltip">
Please ignore this
</div>
</a>
how are you
</li>