jquery .text 作为条件

标签 jquery text

我有这个代码:(jquery)

    alert($('#feedback').text());
    if ($('#feedback').text() == "") {
        alert("has content");
    } else {
        alert("no content");
    }

我用它来测试任何计划文本内容的#feedback div。然而,无论我如何格式化条件,无论我是否有内容,else 语句总是会触发。

我哪里出错了?

html:

<div id="feedback" class="hide feedback">
    <p>generated message</p>
</div>

最佳答案

根据 HTML 示例,我假设当 div 应该为空时,您会遇到类似的情况:

<div id="feedback" class="hide feedback">
    <p></p>
</div>

在这种情况下 .text() div 的值不是 "" ,是"\n\n" (两个换行符)。您需要使用 $.trim() 删除换行符。 (如果有换行符,即使没有 <p> 标签也是如此。)

if( $.trim( $( '#feedback' ).text() ) == "" ) {
    alert( "no content" );
} else {
    alert( "has content" );
}

关于jquery .text 作为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11614909/

相关文章:

javascript - JQuery 全背景

javascript - 如何解析 textarea 输入中的 html 并将 addClass 添加到 td 元素

javascript - 滚动到固定标题顶部时延迟重绘

javascript - 如何通过滚动减慢移动 Bootstrap 轮播幻灯片的滚动速度

c# - 消息框按钮文本

javascript - 用平面目录引用替换所有对外部文件(图像、CSS 和 JavaScript)的引用?

python - 使用 pandas 删除停用词

mysql - 使用 group_concat 的单个查询中的多个文本字段

HTML:更改文本字符串中特定单词的颜色

Java读取一个文件,如果不存在则创建它