首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery不是为子元素准备的

jQuery不是为子元素准备的
EN

Stack Overflow用户
提问于 2013-12-19 10:30:22
回答 2查看 54关注 0票数 0

我试着用下拉菜单得到工作菜单。

我的任务:

我需要将span元素添加到第1级菜单项,下面的脚本不幸地将span元素添加到下拉选项中

菜单代码结构:

代码语言:javascript
复制
<li class="menu-item-1"><a href="#">Item1</a>
<li class="menu-item-2"><a href="#">Item2</a>    
<li class="menu-item-3">
  <a href="#">Item3</a>
  <ul class="sub-menu dropdown">
    <li class="menu-item-4"><a href="#">Subitem1</a></li>
    <li class="menu-item-4"><a href="#">Subitem1</a></li>
  </ul>
</li>

我的不合适的jQuery解决方案

代码语言:javascript
复制
$('.menu-item-552 a:not(.dropdown)').prepend('<span class="span-1"></span>');
$('.menu-item-553 a:not(.dropdown)').prepend('<span class="span-2"></span>');
$('.menu-item-561 a:not(.dropdown)').prepend('<span class="span-3"></span>');
$('.menu-item-559 a:not(.dropdown)').prepend('<span class="span-4"></span>');
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-19 10:32:24

仅用上述类指定元素的子元素--使用子选择器而不是子代选择器。

代码语言:javascript
复制
$('.menu-item-552 > a').prepend('<span class="span-1"></span>');
票数 2
EN

Stack Overflow用户

发布于 2013-12-19 10:33:33

您使用not来过滤.dropdowna元素,尽管它实际上是一个应用于ul的类

$('ul:not(.dropdown) .menu-item-552 a').prepend('<span class="span-1"></span>');

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20679181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档