0

这有效:

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>');
}

我究竟做错了什么?

4

2 回答 2

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>'
);
于 2012-07-01T09:39:53.247 回答
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>');
    }
});
于 2012-07-01T09:38:47.263 回答