在contenteditable div中删除一些带有jquery的标签

时间:2017-06-01 17:57:25

标签: jquery tags contenteditable

我有一个满足的div。当用户粘贴文本时。它带有html标签,我想删除除b,i,u,blockquote,h3标签之外的所有标签。

我怎样才能实现这一目标? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)



var ignoreTags = "b, i, u, blockquote, h3";


$("[contenteditable]").on({
  paste : function() {
    setTimeout(function(){
      $(this).find("*").not(ignoreTags).contents().unwrap();
    }.bind(this), 0);
  }
});

p{color: blue;}
[contenteditable]{background:#eee;padding:16px;}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<h2>H2. Unwrap me.</h2>
<h3>H3. Keep me.</h3>
<blockquote>blockquote</blockquote>
<p>Unwrap Paragraph but keep <b>bold</b> and <i>italic</i></p>

<div contenteditable>pasteHere</div>
&#13;
&#13;
&#13;