我有这个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");
但似乎我的选择不起作用。
非常感谢
答案 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>