检查contenteditable div是否为空

Bha*_*rat 3 javascript jquery

我有一个内容可编辑的div作为Textarea.

<div id="divThatYouCanWriteStuffIn" contenteditable="true" class="ibox-content col-lg-12">
</div>
Run Code Online (Sandbox Code Playgroud)

现在我想检查这个div是否为空,用于验证.

我用的是如下.

 if ($('#divThatYouCanWriteStuffIn')[0].innerText == "") {
        alert("Please update your wall, then post.")
        return false;
  }
Run Code Online (Sandbox Code Playgroud)

但如果用户只是点击输入div,它就无法正常工作.我使用的方式相同

 if ($('#divThatYouCanWriteStuffIn')[0].innerText.length <= 1) {
        alert("Please update your wall, then post.")
        return false;
    }

$('#divThatYouCanWriteStuffIn').html()
Run Code Online (Sandbox Code Playgroud)

但它在div中也有break标记,因为它需要空白作为break

那么,有没有办法检查可编辑的div是不是空的并且有一些正确的文本?

Ano*_*shi 6

您可以使用该text()方法获取相关内容(不带html标签的内容)

  if ($('#divThatYouCanWriteStuffIn').text().trim().length == 0) {
    alert("empty");
  }
Run Code Online (Sandbox Code Playgroud)

.trim() 函数从内容的开头和结尾删除所有空格和换行符.

小提琴

  • 还要添加`.trim()`;) (4认同)