2016-05-12 3 views

答えて

4

内部のテキスト<script>タグは、共通点が1つしかありません。その親は<script>要素です。

if (node.parentNode.nodeName !== 'SCRIPT') 

別のアプローチは、フィルタを使用することである。

var rejectScriptTextFilter = { 
 
    acceptNode: function(node) { 
 
    if (node.parentNode.nodeName !== 'SCRIPT') { 
 
     return NodeFilter.FILTER_ACCEPT; 
 
    } 
 
    } 
 
}; 
 

 
var walker = document.createTreeWalker(
 
    document.body, 
 
    NodeFilter.SHOW_TEXT, 
 
    rejectScriptTextFilter, 
 
    false 
 
); 
 

 
var node; 
 
var textNodes = []; 
 

 
while(node = walker.nextNode()) { 
 
    textNodes.push(node.nodeValue); 
 
} 
 

 
console.log(textNodes);
<script> var str = "script here"; </script> 
 
<p> text here </p>

0

あなたは、元のdocumentをクローニングクローニングしdocument<script>要素を削除し、その後、クローニングされたdocument

の残りのノードを反復することができ
関連する問題