在contenteditable div中的空内容

时间:2013-12-28 22:11:45

标签: javascript ajax jquery

我有一个令人满意的div,充当textarea:

<div class="post" placeholder="Write a comment..." contenteditable="true"></div>

如何通过JS / JQuery清空div,以便清除所有值?

我已经尝试了$(".post").html("");,但它无法正常使用。

请帮忙。

2 个答案:

答案 0 :(得分:8)

$(".post").empty();

demo

jquery empty

答案 1 :(得分:2)

在纯JavaScript中,一个简单的elm.innerHTML='';应该可以正常工作:

<div class="post" placeholder="Write a comment..." contenteditable="true">
</div>
<button onclick="
  document.getElementsByClassName('post')[0].innerHTML='';
">clear</button>

请注意,div没有placeholder - 属性,您必须替换一个简单的函数,只包含一行:

for( var elms=document.getElementsByClassName('post'), L=elms.length
   ; L--
   ; elms[L].innerHTML=elms[L].getAttribute('placeholder')
   );

以上是working jsfiddle

希望这有帮助!

修改
并非所有浏览器都有闪烁类型的游标!相反,他们通常只是清除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>

工作jsfiddle here