我的jquery应该只在页面加载时打开两个div中的第一个,但现在它会打开它们。
另外,我已经在我的CSS中添加了.active
类来为活动的divs链接着色,但它不起作用。
$(document).ready(function () {
$(this).find('.infoexpanderContent').slideDown();
});
$('.infoexpanderHead').click(function () {
$(this).siblings().find('.infoexpanderContent').slideUp();
$(this).find('#infoactive').addClass("active");
$(this).find('.infoexpanderContent').slideDown();
$(this).siblings().find('#infoactive').removeClass("active");
});
.active {
color: green;
}
JS和Jquery真的很新,所以请简单起见:)
答案 0 :(得分:2)
在dom ready处理程序this
中引用文档对象,以便您的选择器$(this).find('.infoexpanderContent')
返回页面中的所有infoexpanderContent
元素并将其向下滑动
在添加单击处理程序后触发第一个元素上的click事件
$('.infoexpanderHead').click(function () {
$(this).siblings().find('.infoexpanderContent').slideUp();
$(this).find('#infoactive').addClass("active");
$(this).find('.infoexpanderContent').slideDown();
$(this).siblings().find('#infoactive').removeClass("active");
}).first().click();
最好使用手动点击触发器,因为您还必须将活动类添加到第一个infoactive
元素
答案 1 :(得分:2)
尝试指定:first
选择器:
$('.infoexpanderContent:first').slideDown();
顺便说一下,不需要$(this).find()
方法,因为在DOM包装器中,$(this)
引用了文档,它总是在jQuery中假设。