当用户点击按钮将其删除并仅保留BR B和I标签时,我想从div中删除富文本。我尝试了函数<div id="content" contenteditable></div>
<button id="remove">Remove</button>
<script>
$(document).on('click', '#remove', function(e) {
var a = $("#content").html();
a = a.replace(/<\/?[^>]+(>|$)/g, "");
$("#content").html(a);
});
</script>
,但它删除了所有标签。
<p>paragraph 1 <b>bold</b></p><br><br><p>paragraph 2 <i>italic</i></p>
示例输入
paragraph 1 <b>bold</b><br><br>paragraph 2 <i>italic</i>
我想要什么
{{1}}
答案 0 :(得分:0)
仅保留BR B和I标签
尝试使用$(document).on('click', '#remove', function(e) {
var a = $("#content").html();
a = a.replace(/<\/?[^>]+(>|$)/g, function(match) {
return !/br|b/i.test(match) ? "" : match
});
$("#content").html(a);
});
的函数参数返回空字符串,如果“b”或“br”,不区分大小写,在匹配中找不到
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="content" contenteditable>
<p>paragraph 1 <b>bold</b></p><br><br><p>paragraph 2</p>
</div>
<button id="remove">Remove</button>
document.getElementsByClassName('nice')[0].style.display='none'