html 结构如下所示
<div id="parent">
parent may contain text
<div id="child1">
child 1 may contain text
<script>console.log('i always contain something');</script>`
</div>
<div id="child2">
child2 may contian text
</div>
</div>
我正在尝试获取除<script>
之外的每个节点的内容。结果应该如下所示:
parent may contain text
child 1 may contain text
child2 may contian text
我尝试过使用($('#parent').not('div script').text()
,但它不起作用
最佳答案
您可以通过克隆节点、删除脚本标记并检索 text()
值来实现这一点:
var content = $('#parent').clone();
content.find('script').remove();
console.log(content.text());
您应该克隆该节点,以确保之后 DOM 树不变。
关于jquery 从 .text() 中排除一些子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11270607/