如何更新Div内的文字?

时间:2014-06-17 13:55:08

标签: javascript jquery html css

我试图更新基于js变量null的Div文本。

这是用于检查var userName的代码是否为null。 如果它的null我不想做任何事情。但是如果userName不为null,那么我需要将','附加到div中的现有文本。

 $("document").ready(function (){
    var userName = "";
    if (userName == undefined || userName == null) {
        alert('empty');
    } else {
        alert('not empty');
        var div = document.getElementById('title b');
        div.innerHTML = div.innerHTML + ','; 
    }
});

我的div的html

<div id="title" class="box">
<b>Welcome</b>
</div>

例如,如果userName不为null,那么我希望div文本为“Welcome”,

如果userName为null,那么我希望div文本为“Welcome”

3 个答案:

答案 0 :(得分:2)

因为你已经在使用jQuery了......

 $(document).ready(function (){
    var userName = ""; // this will never get into the following if statement, always else

    if (userName == undefined || userName == null) { // use if (!userName) as shorthand.
        alert('empty');
    } else {
        alert('not empty');
        var div = $('#title > b');
        div.text(div.text() + ','); 
    }
});

答案 1 :(得分:1)

你在这里使用了奇怪的POJS和jQuery。这是一个纯粹的jQuery解决方案:

$("document").ready(function (){
    var userName = "";
    if (userName == undefined || userName == null) {
        alert('empty');
    } else {
        alert('not empty');
        $('#title b').append(','); 
    }
});

您在函数中将userName声明为空字符串有点奇怪 - 第一个if条件永远不会执行。< / p>

答案 2 :(得分:0)

如果您感兴趣,可以提供更多jQuery答案:

var userName = "";
//var userName = "User";   // for testing
//var userName;            // for testing
//var userName = null;     // for testing

$(document).ready(function (){
    var greeting = !!userName ? "Welcome, "+ userName + "!" : "Welcome";

    $("#title b").html(greeting);
})

jsFiddle