Javascript 使用jquery计算页面中第一级ulli的数量
我有一些jquery,它将计算菜单中的项目,并以px为单位分配计算宽度的li 代码如下:Javascript 使用jquery计算页面中第一级ulli的数量,javascript,jquery,Javascript,Jquery,我有一些jquery,它将计算菜单中的项目,并以px为单位分配计算宽度的li 代码如下: $(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#
$(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。它应该只计算第一个ulli元素,而不是子元素
我能做些什么来阻止这种情况发生吗?改变
var listItems = $('div#new-menu-lower ul li').length;
到
你需要jQery选择器来完成你的工作
从jQuery文档:
选择由元素的“子元素”指定的所有直接子元素
由“家长”指定
作为一个CSS选择器,子combinator受到所有现代web应用程序的支持
浏览器包括Safari、Firefox、Opera、Chrome和Internet
Explorer 7及以上版本,但特别是Internet Explorer版本6
及以下。但是,在jQuery中,此选择器(与所有其他选择器一起)
适用于所有受支持的浏览器,包括IE6
子组合子(E>F)可以被认为是一种更具体的形式
后代组合子(ef)的一种,因为它只选择第一级
后代
改变
var listItems = $('div#new-menu-lower ul li').length;
到
你需要jQery选择器来完成你的工作
从jQuery文档:
选择由元素的“子元素”指定的所有直接子元素
由“家长”指定
作为一个CSS选择器,子combinator受到所有现代web应用程序的支持
浏览器包括Safari、Firefox、Opera、Chrome和Internet
Explorer 7及以上版本,但特别是Internet Explorer版本6
及以下。但是,在jQuery中,此选择器(与所有其他选择器一起)
适用于所有受支持的浏览器,包括IE6
子组合子(E>F)可以被认为是一种更具体的形式
后代组合子(ef)的一种,因为它只选择第一级
后代
使用直接子选择器:“div#new menu lower>ul li”@thrndike他也需要一个
ul>li
子选择器,否则它仍将返回所有li
元素。使用直接子选择器:“div#new menu lower>ul li”@thrndike他也需要一个ul>li
子选择器,否则它仍将返回所有li
元素。