Javascript 实时预览中的Jquery if空循环

Javascript 实时预览中的Jquery if空循环,javascript,jquery,loops,Javascript,Jquery,Loops,我有一个工作现场预览脚本。但是现在我希望当表单字段中有输入时,只显示电话和传真字段。但我想这句空话肯定有问题。有人有办法解决这个问题吗?多谢各位 $(document).ready(function() { updatePreview(); $('#live-preview-form input, #live-preview-form textarea #live-preview-form select').bind('blur keyup',updatePreview); });

我有一个工作现场预览脚本。但是现在我希望当表单字段中有输入时,只显示电话和传真字段。但我想这句空话肯定有问题。有人有办法解决这个问题吗?多谢各位

$(document).ready(function() {
  updatePreview();

  $('#live-preview-form input, #live-preview-form textarea #live-preview-form select').bind('blur keyup',updatePreview);
});

function updatePreview(){
  var   contact             = $('#lp-contact'),
        company_name    = $('#lp-company_name'),
        company_extra   = $('#lp-company_extra'),
        adress          = $('#lp-adress'),
        country_code    = $('#lp-country_code'),        
        zip                 = $('#lp-zip'),     
        city            = $('#lp-city'),        
        phone           = $('#lp-phone'),
        fax                 = $('#lp-fax'),
        url                 = $('#lp-url'),
        mail            = $('#lp-mail');


        contact.text($('#contact').val());
        company_name.text($('#company_name').val());
        company_name.html($('#lp-company_name').html().replace(/\n/g,'<br />'));
        company_extra.text($('#company_extra').val());
        adress.text($('#adress').val());
        country_code.text($('#country_code').val() + '-' );
        zip.text($('#zip').val());
        city.text($('#city').val());
        if(! $('#phone')){phone.text('T ' + $('#phone').val())};
        if(! $('#fax')){fax.text('F ' + $('#fax').val())};
        url.text($('#url').val());
        mail.text($('#mail').val());
}
此条件:

if (!$('#phone')) {
    phone.text('T ' + $('#phone').val())
};
应该是

if (!$('#phone').length) {
    phone.text('T ' + $('#phone').val())
};
问题是,
$('#phone')
是一个jQuery实例对象,它总是一个真实值。这个对象是一个HTML元素的集合。所以检查元素是否在页面上的正确方法是检查此集合的长度。基本上,可以通过以下简单片段来演示:

if({length:0}){
警报(“一”);
}
if({length:0}.length){
警报(“两个”);

}
请贴一把小提琴。非常感谢您的回答和很好的解释。糟糕的是,在我的脚本中它不起作用。我用你的2号更新了小提琴。代码片段。没有什么变化。有什么想法吗?没有,但也许我在描述我的问题时遇到了问题:-)字母F和T应该只有在字段中有输入时才可见。我还在尝试。我编辑了另一个想法,但没有成功。你可以看到问题中的编辑。好的,我得到了你想要的。看看这个演示:这正是我想要的。酷。非常感谢你!你能帮我解释一下它是怎么工作的吗?
if (!$('#phone').length) {
    phone.text('T ' + $('#phone').val())
};