Javascript contenteditable div中的内容为空
我有一个contenteditable div,用作文本区域:Javascript contenteditable div中的内容为空,javascript,ajax,jquery,Javascript,Ajax,Jquery,我有一个contenteditable div,用作文本区域: <div class="post" placeholder="Write a comment..." contenteditable="true"></div> 如何通过JS/JQuery清空div,以便清除所有值 我试过$(“.post”).html(“”)但它不能正常工作 请帮忙 $(".post").empty(); 在纯javascript中,一个简单的elm.innerHTML=''应该可
<div class="post" placeholder="Write a comment..." contenteditable="true"></div>
如何通过JS/JQuery清空div,以便清除所有值
我试过$(“.post”).html(“”)代码>但它不能正常工作
请帮忙
$(".post").empty();
在纯javascript中,一个简单的elm.innerHTML=''代码>应该可以正常工作:
<div class="post" placeholder="Write a comment..." contenteditable="true">
</div>
<button onclick="
document.getElementsByClassName('post')[0].innerHTML='';
">clear</button>
这是上面的一个例子
希望这有帮助
编辑:
并非所有浏览器都会有闪烁型光标!相反,它们通常只是清除div,因为高度收缩回0 px,所以您没有什么可以保留的,所以要解决这个问题,您自然需要一些东西来选择和重置占位符文本:
<div class="post" placeholder="Write a comment..." contenteditable="true">
</div>
<button onclick="
var elm = document.getElementsByClassName('post')[0];
elm.innerHTML=elm.getAttribute('placeholder');
">clear</button>
清楚的
正在使用JSFIDLE。您忘记了那里的双引号!!如果这不起作用,请尝试empty()函数。我也尝试过这个函数,但每当它将其设置为空,然后我在div中键入其他内容时,它会将type flash图标放在div的最右侧,它不允许我键入任何内容:然后您的问题会出现在其他地方,因为如果您查看演示,一切都正常。也许你可以用你的问题创建JSFIDLE?我发现问题是因为占位符。我使用了以下CSS,使占位符看起来像一个文本区域:.post[placeholder]:empty:before{content:attr(占位符);color:#bababa;}
。现在我必须想办法让占位符再次工作。这给了我与另一个答案相同的问题,当它清除div时,它将重置div右侧的闪烁类型图标:
<div class="post" placeholder="Write a comment..." contenteditable="true">
</div>
<button onclick="
var elm = document.getElementsByClassName('post')[0];
elm.innerHTML=elm.getAttribute('placeholder');
">clear</button>