0

简短的问题:给定类名,如何使用 JS/jquery 返回 some 中元素的索引?

长问题:我已经解决了这个问题几个小时,但似乎找不到解决方案。我有一个 Wordpress 网站,它使用了一个利用 superfish 和 lavalamp jquery 的主题。lavalamp 适用于类别和页面,但对于单个帖子,lavalamp 会继续转到列表的第一项。

值得注意的是,我已经进行了一些认真的谷歌搜索,但答案要么太旧,要么不适用于我的情况。我有 jQuery 1.7.1、lavaLamp 1.3.3(更新到 1.3.5 会破坏一切)和 superfish 1.4.8。

我已经缩小范围,调用 lavaLamp 插件的脚本没有为单个帖子返回当前类别的正确索引。这是它的样子:

var active_subpage = jQuery('ul.sf-menu ul li.current-cat, ul.sf-menu ul li.current_page_item').parents('li.top-level').prevAll().length;
var isHome = <?php if (is_front_page() || is_home()) echo('1'); else echo('0'); ?>; 

if (active_subpage) jQuery('ul.sf-menu').lavaLamp({ startItem: active_subpage });
else if (isHome === 1) jQuery('ul.sf-menu').lavaLamp({ startItem: 0 });
else jQuery('ul.sf-menu').lavaLamp();

如何修改脚本以使其返回该帖子的“当前猫”的索引?

我已经粘贴了我认为您需要的内容HERE您可以在这里查看现场直播。

非常感谢您!

4

1 回答 1

1

您的 active_subpage 查询仅适用于可从子菜单中选择的元素,第一个选择器似乎不会匹配任何内容,因为它在子菜单中寻找 .current-cat ,而实际上它是顶部菜单。我认为如果您删除active_page 查询的第一个选择器中
的第二个,它将起作用。编辑:我看到了问题,这就是我们正在寻找的问题。这两个查询可能需要分开。或者更改第一个选择器以包含后代 ( ) 以便进行匹配<ul>

li.current-catparents('li.top-level')

<a>parents('li.top-level')

于 2012-04-27T18:53:20.047 回答