在我的网页上,我试图像这样做:让我们说,当我们点击一个标识为min_reg
的链接时,它会激活ID为ftr_form_cntr
的div,并显示另一个div {{1 }} 内。有3-4个链接具有相同的功能,但在tcr_form_cntr
中显示另一个div。好吧,如果用户第一次点击其中一个链接,那么没有问题。但是如果用户已经点击了(我的意思是如果已经打开ftr_form_cntr
)我想要将所有现有的div嵌套到ftr_form_cntr
并且淡入另一个div(或者用另一个div交换现有的div)。
看看这一行ftr_form_cntr
在此行之前我需要做些什么来淡出所有嵌套的div?
我的功能看起来像这样
tcr_form_cntr.fadeIn(1000);
答案 0 :(得分:3)
假设ftr_form_cntr
是一个包含容器元素的jQuery选择器的字符串变量,你可以选择里面的所有div元素并将它们淡化为:
$(ftr_form_cntr + " div").fadeOut();
请查看the jQuery doco on selectors,特别是"descendant selector"。
如果ftr_form_cntr
不是字符串变量,但实际上是对DOM元素或其他内容的引用,则选择某些嵌套元素的另一种方法是使用.find()
方法,该方法获取后代根据您提供的另一个选择器,现有jQuery对象中的元素:
$(ftr_form_cntr).find("div").fadeOut();
答案 1 :(得分:0)
您的功能可能如下所示:
$(min_reg).click(function () {
var animated_div = $(ftr_form_cntr);
if(animated_div.hasClass('opened')){
animated_div.find('div').fadeOut();
tcr_form_cntr.fadeIn(1000);
return;
}
animated_div.show().stop(true, true).animate({
height:"170"
},1000).addClass('opened');
tcr_form_cntr.fadeIn(1000);
});
我做的是:
$(ftr_form_cntr)
),.find()
jQuery方法获取所有想要淡出的div ,有帮助吗?请确保ftr_form_cntr
和tcr_form_cntr
都已定义,首先是,例如。选择器,但第二个必须是jQuery对象。