0

我正在与 Aloha-Editor (AE) 合作,正如这里所解释的,Aloha 似乎用<br>s 和段落做了一些时髦的事情,所以即使我有一些看起来很空的东西,它实际上不在 HTML 代码中(见下文)。

以下是 Aloha 有时可以生成的底层 HTML 示例,当它看起来很空时。

<br class="aloha-end-br">

<br class="aloha-end-br" style="">

<p style=""><br class="aloha-end-br"></p>

&nbsp;这不是 Aloha 产生的,但如果我添加了一个空格,它看起来仍然是空的。

我的问题是如何“修剪” contenteditable 的 html 内容,以便我知道它看起来是空的。我想使用这样的东西的原因是,我可以知道我是否应该将内容可编辑更新发送回服务器(如果它有内容),或者我是否应该删除简单地删除 contenteditable 元素并告诉服务器它已被删除(如果它是空的)。

4

2 回答 2

1

只需使用 获取文本text(),其中没有 HTML。&nbsp;是空格,所以你必须修剪它们。这是一个简单的函数:

function isEmpty( el ) {
    return $.trim( el.text() ) === '';
}

用法:

if ( isEmpty( $( '#someId' ) ) {
    // It's empty!
}
于 2012-08-21T16:03:12.857 回答
1

尝试在其上运行 .text() ,然后修剪空格并 nbsp 你得到的字符串。这将删除您的所有 html 标记。

于 2012-08-21T16:03:20.647 回答