我有contenteditable
并且可以选择复制用户文本的HTML代码。我想删除浏览器添加到某些元素的style=""
属性。例如:
<h2>what</h2><p><span style="color: rgb(54, 54, 54); font-size: 18px; line-height: 1.77777778em;">what is this</span><span style="color: rgb(54, 54, 54); font-size: 18px; line-height: 1.77777778em;"> </span></p><p></p>
我如何使用jQuery做到这一点?
我已经尝试但是它不起作用:
$('#post_content').keydown(function(e) {
// if ctrl + e
if ((e.metaKey || e.ctrlKey) && e.keyCode == 69) {
var html = $('#post_content').removeAttr('style').html();
prompt("Ctrl+C to copy HTML code", html);
}
});
有什么想法吗?谢谢!
答案 0 :(得分:3)
removeAttr()
should work fine for this purpose。
我怀疑问题是您的选择器 - #post_content
不在您提供的示例HTML中。
答案 1 :(得分:2)
$("#post_content *").removeAttr("style");
prompt("Ctrl+C to copy HTML code", $("#post_content").html());
您必须选择所有可信元素的后代。所以你在select中使用了(*),一旦你拥有了所有可以调用.removeAttr(“style”)的后代,它就会从集合中的每个元素中删除。