我有UL LI
个菜单li
有ul
个孩子。
每次点击根li
时,我都会向其添加.active
,然后将li
索引()保存到Cookie,
问题是我将index()保存到cookie后,active
类设置为子索引()
例如,myclicked root li
为7。
但是css会转到li
6的子项,而活动类会从索引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 });
});
});
希望了解我的意思:))
答案 0 :(得分:1)
那是因为你使用index()的方式为你提供了父元素中该元素的index()。但是你在一个包含所有li的对象上使用eq()(甚至是其他li元素中的那些。所以你有两个完全不同的数组,你想要使用相同的索引。
使用索引()更改您的行 - 调用以下内容并且它应该有效:
foo = $("#MenuArchiv li").index(this);
这与你对eq()的做法相同,它要求所有li元素的对象中该元素的索引