2017-07-14 72 views
-1

我希望除了#bodyContentdiv頁面的標識,除了<a>標籤,使用ES6 Javascript(無jQuery)去除所有html標籤。刪除除了<a>標籤與ES6 Javascript頁面中的所有HTML標籤?

該頁面是一篇很長的維基百科文章,其中顯示大量文本p,span以及img等等。

pspan裏面,有很多a標籤。實際上,約有99.9%的p標籤至少包含1個a標籤。

去除沒有在他們裏面的a用下面的代碼的所有p標籤是無效的,因爲只有約0.1%的文字被刪除:

for (const text of document.querySelectorAll("p")) { 
    if (!text.querySelector("a")) { 
     text.style.display = "none"; 
    } 
} 

我需要一個解決方案,將清除一切該頁面的#bodyContentdiv,這不是a標籤。

最終產品應該是一個只填寫a鏈接的Wiki網頁。

+2

這將是很容易做的'querySelectorAll(「A」)',並將其移動到您的期望的目標區域,然後設置原點元素。 – Bergi

回答

0

您可以從p元素中選擇所有a元素,並用a元素替換內容。喜歡的東西:

const content = document.querySelector('#bodyContent'); 
let links = content.querySelectorAll('a'); 
content.innerHtml = ''; 
links.foreach(a => { 
    content.appendChild(a); 
});