我有以下代码行不起作用:
$( "ul li.open > a" ).addClass( "level-one" );
然而,如果我改变它以找到ID而不是它的作品
我需要在不针对ID的情况下实现此功能:
$( "ul li#menu-item-24 > a" ).addClass( "level-one" );
这是代码开发工具给我的(这是上面代码的ID行),我在这里傻了吗?:
:
我正在尝试定位到Google的链接(用于示例)。
值得注意的开发工具不会为任何一行带来任何错误。
修改
确定在单击第一级链接时添加.open
类(该结构用于我正在使用的手风琴菜单插件 - https://github.com/tefra/navgoco),并且此处请求的是我的HTML:
<ul id="demo1" class="nav"><li id="menu-item-24" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-24 open"><a href="http://google.com">Logged In<span class="caret"></span></a>
<ul class="sub-menu" data-index="0" style="display: block;">
<li id="menu-item-25" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25"><a href="#test" class="boobies">Sub menu item</a></li>
</ul>
</li>
<li id="menu-item-26" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-26"><a href="http://skills.com">Testing<span class="caret"></span></a>
<ul class="sub-menu" data-index="1" style="display: none;">
<li id="menu-item-27" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-27"><a href="http://boom.com" class="boobies">Child</a></li>
</ul>
</li>
</ul>
插件的JS可以在这里找到:https://github.com/tefra/navgoco/blob/master/src/jquery.navgoco.js
我正在做的就是像这样初学手风琴:
$("#demo1").navgoco({accordion: true});
答案 0 :(得分:1)
好的,我通过我正在使用的插件进行了挖掘,并找到了针对该特定链接的方式:
$( "li:has(ul) > a" ).addClass( "level-one" );
这很有用。我非常感谢那些努力尝试和帮助的人。
答案 1 :(得分:0)
我避免使用>
运算符,因为我总是无法使用它。我会这样做:
$("ul li.open a").first().addClass("level-one");
答案 2 :(得分:0)
尝试:
$( "ul li.open a:first" ).addClass( "level-one" );
答案 3 :(得分:0)
如果之后添加了您的课程,可能需要这样编写:
$("ul").find(".open > a").addClass("level-one");
答案 4 :(得分:0)
这假设您的ul默认加载了.nav类,并且以后不会添加它。
$('ul.nav').on('click','.menu-item', function(){
$(this).children('a').first().addClass('level-one');
});