【问题标题】:Remove style attributes from string从字符串中删除样式属性
【发布时间】:2017-05-31 13:31:48
【问题描述】:

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

例子

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

我想得到这个:

<p>my text</p>

是否可以在不调用我们可以在对象上调用的函数(如removeAttr)的情况下做到这一点?

谢谢

【问题讨论】:

  • 为什么要使用字符串操作而不是 DOM 方法来避免使用正则表达式解析 HTML 字符串的边缘情况?
  • 因为在将字符串放入对象时,我从来没有得到完整的 html
  • 您可以在 simple html 字符串上使用正则表达式,但高度嵌套的 html 不是正则表达式的好用例。所以这取决于,您的 html 字符串会像示例一样是单个节点吗?
  • 不,我的 html 要复杂得多。多层次...
  • 你必须使用正则表达式,别无他法,使用这个网站regex101.com它对理解正则表达式有很大帮助,这个developer.mozilla.org/pl/docs/Web/JavaScript/Guide/…也很方便

标签: javascript jquery html


【解决方案1】:

如果您不打算使用 JavaScript 或 jQuery 对象,您是否尝试过使用正则表达式?

This answer 对上一个问题显示了一个可以使用replace 函数适应 JavaScript 的 php 版本。

【讨论】:

    【解决方案2】:

    看看这是否有帮助。

    $("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>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-01
      • 2019-04-19
      • 2015-01-13
      • 1970-01-01
      • 2011-07-27
      • 2014-10-24
      • 1970-01-01
      • 2014-10-04
      相关资源
      最近更新 更多