jQuery条件函数取决于div是否存在

时间:2012-09-20 21:10:38

标签: jquery

我有一个用PHP编写的注册表单。每组问题都在一个字段集中。页面加载时显示为打开的字段集为#are_you,它会关闭该字段集并在收到响应后移至下一组问题。

我想控制页面加载时打开哪个字段集。如果我的字段集#additional_login(在div #advertise_form中)存在,我希望该字段集显示为打开而不是#are_you。如果未设置#additional_login,我希望#are_you显示为打开状态。 #additional_login对用户的出现由PHP if(isset())条件控制。

我不熟悉jQuery(对不起!)所以当我尝试应用其他SO问题的if条件时,我很挣扎。使#are_you显示为打开的代码行使用此语法在.js文件中编写:

jQuery('#advertise_form fieldset#are_you').fadeTo(250, 1, 0).removeClass('close');

有人可以告诉我如何实现这一目标吗?提前谢谢!

3 个答案:

答案 0 :(得分:1)

if ($('#additional_login').length) {
    $('#additional_login').fadeIn();
} else {
    $('#are_you').fadeIn();
}

答案 1 :(得分:1)

您可以使用length

测试元素是否存在
if (jQuery('#additional_login').length) { 
  jQuery('#additional_login').addClass('open');
  jQuery('#are_you').addClass('close');
} else {
  jQuery('#are_you').addClass('open');
}

答案 2 :(得分:0)

我使用这个配方:

$(document).ready(function(e){ //on page ready
    if ($(element).length) { //object contains elements
    //Do what you need to do when element exists
    }
});

.length返回jQuery对象中的元素数,因此它将是一个数字(true)或0(false)