-1

我有一个用 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');

请有人建议我将如何实现这一目标?提前致谢!

4

3 回答 3

1

您可以使用以下方法测试元素是否存在length

if (jQuery('#additional_login').length) { 
  jQuery('#additional_login').addClass('open');
  jQuery('#are_you').addClass('close');
} else {
  jQuery('#are_you').addClass('open');
}
于 2012-09-20T21:15:36.567 回答
1
if ($('#additional_login').length) {
    $('#additional_login').fadeIn();
} else {
    $('#are_you').fadeIn();
}
于 2012-09-20T21:15:10.813 回答
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 对象中元素的数量,因此它将是一个数字(真)或 0(假)

于 2012-09-20T21:15:08.083 回答