使用 jquery 计算页面中一级 UL LI 的数量
calculating the number of first level UL LI in a page using jquery
>我有一些jquery,它将计算菜单中的项目,并为li分配一个以px为单位的计算宽度。
这是代码:
$(document).ready(function(){
$('div#new-menu-lower ul li').css('width', ($('div#new-menu-lower ul').width() / $('div#new-menu-lower ul li').length));
$(function() {
var menuWidth = $('div#new-menu-lower ul').width();
var listItems = $('div#new-menu-lower ul li').length;
var itemWidth = Math.floor(menuWidth * (1/listItems)) - 40;
$('div#new-menu-lower ul li').css('width', itemWidth);
});
});
问题是listItems
显示为 38 个项目,它似乎计算了每一个错误的 li。它应该只计算第一个 ul li's 而不是子元素。
我能做些什么来阻止这种情况的发生?
更改
var listItems = $('div#new-menu-lower ul li').length;
自
var listItems = $('div#new-menu-lower > ul > li').length;
您需要 jQery 父>子选择器来完成您的工作。
来自jQuery文档:
选择由元素的"子"指定的所有直接子元素 由"父"指定。
作为CSS选择器,所有现代Web都支持子组合器 浏览器包括 Safari、Firefox、Opera、Chrome 和互联网 Explorer 7 及更高版本,但显然不是 Internet Explorer 版本 6 及以下。但是,在jQuery中,这个选择器(以及所有其他选择器) 适用于所有支持的浏览器,包括 IE6。
子组合子(E> F)可以被认为是一种更具体的形式 后代组合子 (E F),因为它只选择第一级 后代。
相关文章:
- 在单独的ul's
- 将所选类别循环到ul>李用加载更多按钮
- 使用jquery动态创建ul-li
- 使用下拉列表筛选列表(ul>li)
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- :not选择器不适用于ul类-备选方案
- 在验证器中添加自定义规则以检查<ul>具有元素
- 在JQuery中隐藏和显示ul中的特定元素
- 使用 jquery 获取外部父 UL
- 隐藏/显示包含单词的ul li项目.但只能入住李的子女
- 如何在点击时显示ul项目
- 限制ul元素中显示的项目
- ul-li专属功能
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- 我应该如何在 UL 内触发 IMG 标签的点击
- 排序<李><Ul>根据<span>内部<李>
- jQuery(“ul.sf菜单”).superfish不是一个函数
- 在 ul 下更改内容的字体颜色,在悬停时
- 使用 jquery 计算页面中一级 UL LI 的数量
- 使用jquery显示嵌套ul-li的一级子级