2017-06-14 57 views
0

我只想在腳本標記內刪除內容,當我查看結果的控制檯時。如何在javascript中刪除innerHtml中的腳本內容

現在它顯示信息以及正確的結果。

<script type="text/javascript"> 
 
\t 
 
\t 
 
\t var texta=document.documentElement.innerHTML; 
 
\t 
 
\t 
 
\t var result = texta.match(/(.*)[:](.*)/g); 
 
\t var rex = /(<([^>]+)>)/ig; 
 
\t var htmltag=[]; 
 
\t //console.log(result) 
 
\t for (index = 0; index < result.length; ++index) { 
 
\t  //console.log(index) 
 
\t  htmltag[index]=strip_html_tags(result[index]); 
 
\t  console.log(htmltag[index]. split(/[\<>&=:]/)); 
 
\t 
 
\t } 
 

 

 
\t function strip_html_tags(str) 
 
\t { 
 
\t if ((str===null) || (str==='')) 
 
\t  return false; 
 
\t else 
 
\t str = str.toString(); 
 
\t return str.replace(/<[^>]*>/g, ''); 
 
\t } 
 
\t 
 
</script>
<html><li>Product Code : Product 15</li> 
 
<li>Product Points : 100</li> 
 
<span>Product : In Stock</span> 
 
</html>

在控制檯我得到

  1. [ 「產品編號」, 「產品15」]
  2. [ 「產品積分」, 「100」]
  3. [「Product」,「In Stock」]
  4. [「var result」,「texta.match(/(.*)」,「/ g);」]
  5. [「console.log(htmltag [index]。拆分(/ [\」, 「」, 「」, 「] /));」]

,因爲它是來自內部的JavaScript我不想第四和第五

+0

是否要刪除任何腳本標記或僅這一項? – Disfigure

+0

任何JavaScript腳本標籤 – vijaikarthik

+0

你能非常具體地清楚你想要刪除的內容嗎?(保持輸出在上面) –

回答

1

我看到一對夫婦。與你的代碼的問題。

見我jsfiddle demo,在那裏我已經調整你的代碼位。

JS

<script> 
    var texta=document.getElementsByClassName('details'); 

    for(var i=0; i <= texta.length; i++) { 

    var result = texta[i].innerHTML.match(/(.*)[:](.*)/g); 
    var rex = /(<([^>]+)>)/ig; 
    var htmltag=[]; 

    for (index = 0; index < result.length; ++index) { 
    htmltag[index]=strip_html_tags(result[index]); 
    console.log(htmltag[index]. split(/[\<>&=:]/)); 
    } 
} 
function strip_html_tags(str) 
{ 
    if ((str===null) || (str==='')) 
     return false; 
    else 
     str = str.toString(); 
    return str.replace(/<[^>]*>/g, ''); 
} 

</script> 

HTML

<body> 
<ul class="details"> 
<li>Product Code : Product 15</li> 
<li>Product Points : 100</li> 
<li>Product = In Stock</li> 
</ul> 
<div class="details"> 
    <div>Product Code : Product 15</div> 
    <div>Product Points : 100</div> 
    <div>Product = In Stock</div> 
</div> 
</body> 

輸出

(2) ["Product Code ", " Product 15"] 
(2) ["Product Points ", " 100"] 

你現在可以添加一個名爲「詳細信息」,每個「細節」 DOM內容的所有內容的CSS類,並應用正則表達式匹配。

+0

嗨,夥計,他很酷的分享,但它尋找的是什麼:「任何匹配正則表達式不只是李標籤」我編輯您的帖子 – Disfigure

+0

感謝,但不只是li標籤。它也可能來自span標籤。 – vijaikarthik

+0

更正後,帖子中的JavaScript完美運行,等待OP接受我的版本。 – Disfigure

0

這是工作。謝謝大家。

<script type="text/javascript"> 
 
\t 
 
\t var texta=document.documentElement.innerHTML; 
 

 
\t function strip_html_tags(str) 
 
\t { 
 
\t if ((str===null) || (str==='')) 
 
\t  return false; 
 
\t else 
 
\t str = str.toString(); 
 
\t return str.replace(/<[^>]*>/g, ''); 
 
\t } 
 

 
\t var sratscript = texta.indexOf("script")-1; 
 
\t var endscript = texta.lastIndexOf("script")+1; 
 
\t var arr = texta.split(''); 
 
\t var removed = arr.splice(sratscript,endscript," "); // THistr 
 
\t texta = arr.join(''); 
 
\t //console.log(texta) 
 
\t var result = texta.match(/(.*)[:](.*)/g); 
 
\t var rex = /(<([^>]+)>)/ig; 
 
\t var htmltag=[]; 
 
\t for (index = 0; index < result.length; ++index) { 
 
\t  //console.log(index) 
 
\t  htmltag[index]=strip_html_tags(result[index]); 
 
\t  
 
\t \t console.log(htmltag[index]. split(/[\<>&=:]/)) 
 
\t } 
 

 
</script>
<html><li>Product Code : Product 15</li> 
 
<li>Product Points : 100</li> 
 
<span>Product : In Stock</span> 
 
</html>

相關問題