删除不规则标签内容中的CSS样式

时间:2016-05-19 14:02:18

标签: jquery

我有这个jquery:

$(".note-editable").bind("paste", function() {
    var elem = $(this);
    setTimeout(function() {
        var prod_desc_text = elem.html(); <<< this can contains <p>, <span>, <h1>, <h2>, etc tags with style attribute

        prod_desc_text = prod_desc_text.$("*").removeAttr("style"); <<< I want to remove all style attribute 

        elem.html("");
        elem.append(prod_desc_text);
    }, 100);
});

如何删除style变量中的所有prod_desc_text属性?

我尝试过:prod_desc_text = prod_desc_text.$("*").removeAttr("style");但似乎我的选择不起作用。

非常感谢

1 个答案:

答案 0 :(得分:1)

这是一段HTML字符串。你不能在字符串上使用jQuery的东西。将其转换为HTML元素,然后在其上应用jQuery。你需要试试这个:

$(prod_desc_text).find("*").removeAttr("style").html();

代码段使用其他方法。

$(function () {
  var prod_desc_text = '<p style="margin: 0;">Hello</p><p>Hello</p><div style="text-align: center;">Hello</div>';
  var a = $("<div />", {html: prod_desc_text});
  console.log(a.find("*").removeAttr("style").end().html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>