为什么我在contenteditble div中得到这个元素?

时间:2016-09-22 16:33:54

标签: javascript jquery html

我有一个看起来像这样的div元素

<div id="test" contenteditable="true" style="height: 17px;">
</div>

当我执行$("#test").html()时,我希望看到返回一个空字符串,但事实上,它会给我<br>

为什么即使我没有在div中放置任何内容,也会有<br>

编辑:实际上,在div标签之间,我有一个Struts2属性标签,它输出一个值,但后端填充的这个值是空的,所以我不希望看到<br>

2 个答案:

答案 0 :(得分:0)

这看起来很奇怪,就我的经验而言,这可能是由于这些东西

  1. 可能是html标签未关闭
  2. 你可能有一些浏览器扩展,有时这些类型奇怪的东西
  3. 因此请尝试禁用所有扩展程序并检查所有html标记在禁用扩展程序后也尝试隐身模式,我认为它可能有助于您调试此问题。

答案 1 :(得分:-1)

https://jsfiddle.net/47r6p89r/

<div ...></div>之间有空格。 此外,空格将通过HTML检测,但只能逐个检测。奇怪的是你得到了

<br>

作为输出我只是在小提琴中没有任何东西。

在我的小提琴中,您可以检测#test是否为空,否则您可以看到结果。

$(document).ready(function() {
  if ($('#test').html() !== "")
    $('#console').text($('#test').html());
  else
    $('#console').text('empty');
});