2017-04-05 73 views
0

我有一个外部网站的HTML,我需要用jQuery解析。我只对主div内的文本感兴趣(如代码中所述)。如何解析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> 

有什么建议吗?

回答

1

与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>

相关问题