![](/img/trans.png)
[英]How to remove HTML tag (not a specific tag ) with content from a string in javascript
[英]Remove specific HTML tag with its content from javascript string
我有以下字符串變量,我想從字符串中刪除所有帶有其內容a
標簽。
var myString = "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>";
myString += "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>";
myString += "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>";
我已經在 JavaScript問題的答案中檢查了從字符串的開頭到結尾刪除 HTML 內容組,但它適用於所有標簽。
謝謝
您應該避免使用正則表達式解析 HTML。 這是一種使用DOM
刪除所有<a>
標簽的方法:
// your HTML text var myString = '<table><tr><td>Some text ...<a href="#">label...</a></td></tr></table>'; myString += '<table><tr><td>Some text ...<a href="#">label...</a></td></tr></table>' myString += '<table><tr><td>Some text ...<a href="#">label...</a></td></tr></table>' // create a new dov container var div = document.createElement('div'); // assing your HTML to div's innerHTML div.innerHTML = myString; // get all <a> elements from div var elements = div.getElementsByTagName('a'); // remove all <a> elements while (elements[0]) elements[0].parentNode.removeChild(elements[0]) // get div's innerHTML into a new variable var repl = div.innerHTML; // display it console.log(repl) /* <table><tbody><tr><td>Some text ...</td></tr></tbody></table> <table><tbody><tr><td>Some text ...</td></tr></tbody></table> <table><tbody><tr><td>Some text ...</td></tr></tbody></table> */
這是代碼。 正則表達式/<a.*>.*?<\\/a>/ig
非常適合您的數據。
var myString = "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>"; myString += "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>"; myString += "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>"; console.log(myString); var anchorTagsRemoved = myString.replace(/<a.*?>.*?<\\/a>/ig,''); console.log(anchorTagsRemoved);
var myString = "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>"; myString += "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>"; myString += "<table><tr><td>Some text ...<a href='#'>label...</a></td></tr></table>"; el = document.createElement('div'); el.innerHTML = myString; var output = document.getElementById('output'); el.querySelectorAll('a').forEach(function(item, index){ item.parentNode.removeChild(item); }) output.innerText = el.innerHTML;
<h3>Output:</h3> <pre id='output'></pre>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.