从字符串中移除样式属性

3

我想在JavaScript或jQuery中从字符串(而不是对象)中删除所有样式属性。

示例:

var html = "<p style="color:red">my text</p>";

我希望获得如下内容:

<p>my text</p>

有没有可能不调用我们可以在对象上调用的函数(如 removeAttr)来完成它?

谢谢


2
你为什么想要使用字符串操作来实现这个,而不是使用避免使用正则表达式解析HTML字符串的DOM方法呢? - David Thomas
因为当我将字符串放入对象中时,我从未获得完整的HTML。 - user
你可以在简单的HTML字符串上使用正则表达式,但是嵌套较深的HTML不适合使用正则表达式。所以这取决于你的HTML字符串是否像示例一样是单个节点。 - James
不,我的HTML更加复杂。有许多层级... - user
1
你必须使用正则表达式,没有其他的方式,使用这个网站 https://regex101.com/ 可以帮助你很好地理解正则表达式,另外这个网址 https://developer.mozilla.org/pl/docs/Web/JavaScript/Guide/Regular_Expressions 也很有用。 - Luke
显示剩余3条评论
2个回答

5
如果你不想使用JavaScript或jQuery对象,你是否尝试过使用正则表达式?之前的一个问题的这个答案展示了一个可以通过replace函数在JavaScript中适用的php版本。

-1

看看这个能否帮到你。

$("button").click(function() {
  $("p").removeAttr("style");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<p style="color:red">my text</p>

<button>Remove the style attribute from all p elements</button>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接