2017-04-05 3 views
0

私はjQueryと解析する必要がある外部WebサイトからこのHTMLを持っています。私はメインの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> 

アドバイスはありますか? jQueryを使って

答えて

1

あなたはあなただけTextNodesを取得するためにフィルタリングすることができ、その後あなたは、divの内のすべてのノード要素にアクセスできるようになりますcontents()を使用することができます。

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>

関連する問題