This question already has answers here:
How to get the text node of an element?
(10个答案)
3年前关闭。
我有一个来自外部网站的HTML,需要使用jQuery进行解析。我只对主div中的文本感兴趣(如代码中所述)。
问题是,如果我使用
有什么建议吗?
(10个答案)
3年前关闭。
我有一个来自外部网站的HTML,需要使用jQuery进行解析。我只对主div中的文本感兴趣(如代码中所述)。
问题是,如果我使用
$('#main').text()
,即使从嵌套的div中,我也会在div中获得所有文本。<div id="main">
<div><h1>....</h1></div>
<div>Other Text</div>
I only want to parse this text
<div></div>
<div></div>
</div>
有什么建议吗?
最佳答案
借助Jquery,您可以使用contents()
来访问div中的所有节点元素,之后您可以进行过滤以仅获取TextNodes:
var nodeText = $('#main').contents().filter(function(){
return this.nodeType === 3 && $.trim(this.nodeValue) !== '';
}).text()
console.log(nodeText)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="main">
<div><h1>....</h1></div>
<div>Other Text</div>
I only want to parse this text
<div></div>
<div></div>
</div>
10-06 15:45