jQuery和调整大小()不工作

问题描述:

我有我的菜单列表,我使用jQuery调整大小的方法调整大小李,但如果我的网页减少,因为当我尝试增加页面我李增加,但如果我的页面已满,我尝试减少我的li不减少。我可以做什么?jQuery和调整大小()不工作

的jQuery:

$(document).ready(function() { 
     size(); 
     $(window).resize(size); 
    }); 
    function size() { 
     var tr = $("#nav li ul").width(); 
       $("#nav li ul li").width(tr); 
    } 

HTML:

<ul class="navi"> 
     <li ><a class="first" href="\">Home</a></li> 
     <li><font>Test</font> 
      <ul> 
      <li><a>Test 1</a></li> 
      <li class="last"><a >Test 2</a></li> 
      </ul> 
      <div class="clear"></div> 
     </li> 
</ul> 
+1

您必须在测量父项宽度之前删除嵌套'li'的宽度,因为子'li'将保持父'ul'打开。你甚至需要为此使用JS吗? CSS非常适合让孩子成为父母的宽度的100%。 – Moob 2014-11-03 11:38:55

+0

您的'#nav'元素缺失,然后'$(“#nav li ul”)'返回null – Victor 2014-11-03 11:44:17

+0

有点难以分辨您正在尝试做什么。你可以发布[jsFiddle](http://jsfiddle.net/)或者说明问题的片段吗? – Moob 2014-11-03 11:49:54

试试这个:

$(function() { 
    $(window).resize(function() 
    { 
     var tr = $("#nav li ul").width(); 
     $("#nav li ul li").width(tr); 
    }); 
}); 

你测量的宽度之前删除嵌套li的宽度父母因为孩子li会持有父母ul开放。

function size() { 
    $("#nav li ul li").css('width', 'auto'); // <-- remove the child's width 
    var tr = $("#nav li ul").width(); 
    $("#nav li ul li").width(tr); 
}