简化 jQuery 目标 CSS
Simplify jQuery target CSS
当"子菜单"类存在时,我目前正在使用以下jQuery JavaScript将一些HTML附加到"mobile-menu"类内的"li"标签中:
$('.mobile-menu > li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
我想将其应用于所有 li 标签,无论它们埋在里面有多远,我目前正在使用以下代码,它工作正常,但我确信一定有一种方法可以简化它?
$('.mobile-menu > li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
$('.mobile-menu > li li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
$('.mobile-menu > li li li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
$('.mobile-menu > li li li li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
$('.mobile-menu > li li li li li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
$('.mobile-menu > li li li li li li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
任何帮助非常感谢!
谢谢
您不必使用直接子选择器 ( >
)
用:
$('.mobile-menu li:has(ul.sub-menu)').append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
试试这个,
// to append all ul having sub-menu class
if($('.mobile-menu > li ul.sub-menu').length) {
$('.mobile-menu > li ul.sub-menu')
.append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
}
如果有 ul-li-ul 的嵌套,则使用 :nth-last-child-selector,例如,
$('.mobile-menu > li ul.sub-menu:nth-last-child(0)') // for the last selector
.append('<div class="menu-expand"><i class="fa fa-plus"></i></div>');
相关文章:
- CSS-如何定位内容数据标题
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- 在事件目标上,将css波浪号从element1添加到element2
- 目标 css:背景图像 Javascript
- 目标属性的CSS版本
- 无法让悬停事件使用 jQuery UI 持续时间参数或 CSS 处理目标元素的同级元素
- 简化 jQuery 目标 CSS
- 使用 CSS(第一首选项)或 JavaScript(secnd 首选项)在引导程序中更改数据目标
- css 子选择器:第一个子选择器,但在目标选择器中选择所有子项
- 是否可以在Javascript中的css3转换期间获得目标css属性值
- 以活动幻灯片为目标并添加css类
- 存储目标容器的HTML和CSS
- 使用CSS黑客攻击目标操作系统
- jQuery的目标移动+ CSS类
- 在CSS/JS中指定元素之后的目标元素
- CSS目标选择器
- CSS悬停的第二个子目标