如果带有大括号的条件在jQuery中无法正常工作

时间:2012-07-01 09:36:15

标签: javascript jquery

这有效:

if($('div.login-part').is(':empty'))
        $('div.login-part').append('<p>Login</p>');

但这不是:

if($('div.login-part').is(':empty')) 
{
        $('div.login-part').append('<p>Login</p>');
            $('div.login-part').append('<p>Welcome!</p>');
            $('div.login-part').append('<p>What is your name?</p>');
}

我做错了什么?

2 个答案:

答案 0 :(得分:5)

这应该可以正常工作。但是,您可以通过多次运行选择器来提高代码效率:

var login = $('div.login-part')
if(login.is(':empty')) {
    login.append('<p>Login</p>');
    login.append('<p>Welcome!</p>');
    login.append('<p>What is your name?</p>');
}

您甚至可以将其减少为:

$('div.login-part:empty')
    .append('<p>Login</p>')
    .append('<p>Welcome!</p>')
    .append('<p>What is your name?</p>');

甚至:

$('div.login-part:empty').append(
    '<p>Login</p>',
    '<p>Welcome!</p>',
    '<p>What is your name?</p>'
);

答案 1 :(得分:2)

工作演示 http://jsfiddle.net/avSDa/10/

请检查代码中的结束语;由于我从之前的早期回复中了解了这个问题的背景:)

演示应该可以帮到你,

希望这会有所帮助,欢呼

<强>码

// FOR REGISTRATION
$('span.logreg.reg').click(function() {

    if ($('div.login-part').is(':empty')) {
        $('div.login-part').append('<p>Login</p>');
        $('div.login-part').append('<p>Welcome!</p>');
        $('div.login-part').append('<p>What is your name?</p>');
    }
});