在WordPress侧菜单中添加一个子类
Add a class to WordPress side menu only child
我在IE8中挣扎的是我的侧菜单。a:only-child:before
适用于我测试过的所有浏览器(Firefox和Chrome和IE9+),但在IE8中它被忽略。
目标是让a:only-child
不显示图像。我的菜单CSS的主要部分如下:
#sidebar li > a:before {
color: #b70101;
font-size:13px;
padding-right:5px;
content:url(images/bullet-red.png);
}
#sidebar li > a:only-child:before {
content: " ";
}
菜单是在WordPress中生成的菜单,所以我知道如何添加一个类到没有子菜单项。(我们的目标是那些有孩子的菜单项会显示和箭头,而那些没有的菜单项不会。)
我一直在挣扎,我最近的尝试是使用JavaScript,我认为我没有正确使用,因为它没有添加类。
<script type="text/javascript">
$('.child-sidebar-menu').click(function(){
$(this).children(':not([class])').addClass('no-child')
});
</script>
我也尝试了以下只是添加一个类到父元素,它没有添加添加一个类:
<script type="text/javascript">
$('#sidebar').find('li:has(ul)').addClass('parent');
</script>
任何帮助都将非常感激。我边走边学,衷心感谢您花时间帮助我。
生成的菜单如下所示:
<div id="sidebar">
<li id="advanced_sidebar_menu-2" class="widget advanced-sidebar-menu">
<ul class="parent-sidebar-menu">
<li class="page_item page-item-1452 current_page_ancestor has_children"> <a href="">Administrative Services</a>
<ul class="child-sidebar-menu">
<li class="page_item page-item-1462 page_item_has_children current_page_ancestor current_page_parent has_children"> <a href="">Information Systems</a>
<ul class="children">
<li class="page_item page-item-1878 current_page_item"> <a href="">Service Outages</a> </li>
</ul>
</li>
<li class="page_item page-item-125 page_item_has_children has_children"> <a href="">Addresses</a>
<ul class="children">
<li class="page_item page-item-415"> <a href="">General US Address Info</a> </li>
<li class="page_item page-item-386"> <a href="">People Finder</a> </li>
<li class="page_item page-item-410"> <a href="">Federal Government</a> </li>
</ul>
</li>
<li class="page_item page-item-497"> <a href="">Administration</a> </li>
<li class="page_item page-item-451"> <a href="">Useful Links</a></li>
</ul>
</li>
</ul>
</li>
</div>
我想你接近你的JavaScript尝试。不如试试这个:
<script>
jQuery('#sidebar').find('li').each(function(){
if ('undefined' != jQuery(this).find('> ul').get(0)) {
jQuery(this).addClass('parent');
}
});
</script>
逻辑流程:-在#sidebar中找到所有列表项,循环遍历它们-如果有当前列表项的直接子元素"ul"-添加类"parent"到当前的jQuery对象(它是.each()循环中当前迭代的列表项)
JS小提琴:http://jsfiddle.net/z95LP/
我仍然对如何使用javascript添加类的解决方案感兴趣,如果有人可以指导我的教程,或者如果他们知道如何做,我很乐意学习。在这个例子中,我找到了一个解决方法。
我将样式应用于菜单中生成的类:.has_children
所以我的样式看起来像:
#sidebar .has_children{list-style-image:url(images/bullet-red-down.png);}
相关文章:
- 单击更改图标并通过javascript添加一个css类
- 是否可以从父类访问子类的属性
- 子类访问父类's闭包变量
- 用jquery切换一个随机类
- Javascript关键字搜索子类Div值
- 如何通过Prototype或jquery移除子类的父类基类
- JavaScript数组的子类化破坏了快速枚举
- 创建一个 JavaScript 构造函数,该函数对数组进行子类化
- 子类化一个修饰的 JavaScript 类
- 尝试实现一个容易“子类化”的数组子类
- 无法访问 JavaScript 对象中的静态变量,该对象对另一个 JavaScript 对象进行子类化
- 使用proto创建一个Storage子类
- 为什么子类数组的JSON字符串化是一个对象
- 如果使用jQuery可以看到另一个span's的子类,则隐藏该类
- jQuery toggleClass到父类,当子类有一个特定的类
- jQuery:如何通过子类的一个类的值返回元素
- 这是数组子类的一个棘手的解决方案吗
- 我可以实例化一个超类,并根据提供的参数实例化一个特定的子类吗
- 删除-更改对象's '子类'通过在上面设置一个属性
- 在JavaScript中声明一个新的子类作为原型方法是可以的吗?