ive 创建了一个函数,如果 p 元素没有任何内容或内部有 br,则在 contenteditable 之后离开时,该函数应该删除该 p 元素。问题是,当 .blur() !? 时,它也会删除一个有内容的 li 。 我快要疯了,因为我确信 10 分钟前它就有效了......
这是函数:
$('p').live('blur', function() {
localStorage.setItem('todo', listan.innerHTML);
color();
if ($(this).html() == "" || "<br>")
{
console.log($(this).html());
$(this).parent().remove();
localStorage.setItem('todo', listan.innerHTML);
}
});
列表(“listan”)如下所示:
<ul ID="listan">
<li><p contenteditable="true" class="thing">something</p><input type="button" value="ta bort" class="delete"></li>
</ul>
最佳答案
从代码中删除 .parent()
,因为“blurring”p
的父元素是 li
。另请检查您的 if 语句。
$('p').live('blur', function() {
localStorage.setItem('todo', listan.innerHTML);
color();
var html = $(this).html();
if (html == "" || html == "<br>") {
console.log($(this).html());
$(this).remove();
localStorage.setItem('todo', listan.innerHTML);
}
});
关于javascript - 删除空 <p> 的函数会删除包含内容的 <p>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10576134/