简体   繁体   English

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

[英]If condition with curly brackets is not working correctly in jQuery

This works: 这有效:

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

But this is not: 但这不是:

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

What am I doing wrong? 我究竟做错了什么?

That should work fine. 那应该工作正常。 You can, however, make your code more efficient by not running the selector multiple times: 但是,可以通过不多次运行选择器来提高代码效率:

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

You can even reduce that to: 您甚至可以将其减少为:

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

Or even: 甚至:

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

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

Please check closing quotes in your code; 请检查代码中的引号; Since I know the background of this question from previous early reply :) 由于我从先前的早期答复中知道了这个问题的背景:)

Demo should help you, 演示应该可以帮助您,

Hope this helps, cheers 希望这会有所帮助,欢呼

code

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM