我想在页面加载时保持子菜单打开。我怎样才能成功呢?
这是jquery:
( function( $ ) {
$( document ).ready(function() {
$('#cssmenu li.has-sub>a').on('click', function(){
$(this).removeAttr('href');
var element = $(this).parent('li');
if (element.hasClass('open')) {
element.removeClass('open');
element.find('li').removeClass('open');
element.find('ul').slideUp();
}
else {
element.addClass('open');
element.children('ul').slideDown();
element.siblings('li').children('ul').slideUp();
element.siblings('li').removeClass('open');
element.siblings('li').find('li').removeClass('open');
element.siblings('li').find('ul').slideUp();
}
});
});
} )( jQuery );
任何帮助将不胜感激!!
答案 0 :(得分:1)
如果点击第一个a
元素“打开”“子菜单”,您可以在DOM就绪事件上触发click
事件:
$('#cssmenu li.has-sub>a').on('click', function() {
// ...
}).first().click();
如果您想选择其他a
元素,可以使用.eq()
方法:
$('#cssmenu li.has-sub>a').on('click', function() {
// ...
}).eq(2).click(); // trigger the click event on the third `a` element in the collection
不使用.first()
或.eq()
方法,将为集合中的所有元素触发事件。您还可以使用.trigger('click')
或.triggerHandler('click')
方法。