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 に答える