从 javascript 字符串中删除特定 HTML 标签及其内容 [英] Remove specific HTML tag with its content from javascript string
本文介绍了从 javascript 字符串中删除特定 HTML 标签及其内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下字符串变量,我想从字符串中删除所有 a
标签及其内容.
I have the following string variable and I want to remove all a
tags with its content from the string.
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 内容组 问题的答案,但它适用于所有标签.
I have checked this Remove HTML content groups from start to end of string in JavaScript question's answers but it is for all tags.
谢谢
推荐答案
您应该避免使用正则表达式解析 HTML.这是一种使用 DOM
删除所有 标签的方法:
You should avoid parsing HTML using regex. Here is a way of removing all the <a>
tags using DOM
:
// 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>
*/
这篇关于从 javascript 字符串中删除特定 HTML 标签及其内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文