jQuery:$ j('body').append(...)不起作用?

Nul*_*uli 1 jquery

function floatymessage(message){
    if (!$j('.floatymessage')){
        $j('body').append("<div class='floatymessage'>HERRO</div>");
    }
    $j(".floatymessage").html(message)
    $j(".fleatymessage").css('display', 'block')
}
Run Code Online (Sandbox Code Playgroud)

执行以下操作时(使用alert('hi')测试)我在webkit的检查器中看不到底部的d​​iv ...我没有看到'HERRO'文本= =

我做错什么了吗?

hun*_*ter 5

试试这个 $j('.floatymessage').length == 0

function floatymessage(message){
    if ($j('.floatymessage').length == 0) {
        $j('body').append("<div class='floatymessage'>HERRO</div>");
    }
    $j(".floatymessage").html(message)
    $j(".fleatymessage").css('display', 'block')
}
Run Code Online (Sandbox Code Playgroud)

写作!$j('.floatymessage')将永远是false因为它将永远是一个jQuery对象,从选择创建与此处的属性.


一些精简....

function floatymessage(message){
    var $floatymessage = $j('.floatymessage');
    if ($floatymessage.length == 0) {
        $j('body').append("<div class='floatymessage'>HERRO</div>");
        $floatymessage = $j('.floatymessage');      
    }
    $floatymessage.html(message).css('display', 'block')
}
Run Code Online (Sandbox Code Playgroud)