我有一个UL LI
菜单,有些li
有ul
的孩子。
每次根li
单击时,我都会向它们添加.active
,然后将li
索引()保存到cookie中,
问题是在我将index()保存到cookie之后,将active
类设置为子索引(),例如myclicked li
为7。
但是css会转到li
6的子级,active类从索引6中添加到第一个li
子级,但是我希望找到带有索引7的根li
。
我的代码是:
$(function () {
var foo = $.cookie("test");
if (foo == null) {
foo = 0;
}
$("#MenuArchiv").find("li").removeClass("activ");
$("#MenuArchiv li").eq(foo).addClass("activ");
$("#MenuArchiv li").click(function () {
foo = $(this).index();
$("#MenuArchiv").find("li").removeClass("activ");
$(this).addClass("activ");
$.cookie("test", foo, { expires: 10 });
});
});
希望了解我的意思:)
发布于 2013-12-02 01:40:20
这是因为使用index()的方式在它的父元素中给出了该元素的index()。但是,对包含所有li (甚至包括其他li-元素中的)的对象使用eq()。因此,您有两个完全不同的数组,您想要使用相同的索引。
将索引()-call的行更改为以下内容,它应该可以工作:
foo = $("#MenuArchiv li").index(this);
这与使用eq()一样,它在所有li-元素的对象中请求该元素的索引。
https://stackoverflow.com/questions/20324709
复制相似问题