2017-04-05 38 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>

相關問題