我在 CKEditor 中有很多元素,它们连接了事件,并使用 .data() 方法将数据绑定到它们。我想从这个 HTML 块中删除任何 s。我可以简单地做
$('body').html($('body').html().replace(/ \;/, ''));
但是因为这会重置 HTML,它有效地重新创建了所有元素,这意味着我必须重新绑定所有事件和数据。我目前正在做的是这样的:
if ($body.html().indexOf(' ') > -1) {
$body.find(':*:not(:has(*))').each(function(){
// These nodes don't have any children so contain text or nothing
$(this).html($(this).html().replace(/ \;/,''));
});
}
这将替换 HTML 中的 s,如下所示:
<p>Foo Bar</p>
但不是这样的 HTML:
<div>Foo <span>Bar</span></div>
谁能想到更好的方法来做到这一点?
谢谢,
乔