如何使用jquery获得所有$('li')宽度的最长宽度

use*_*600 2 jquery width

<ul>
  <li>Short</li>
   <li>Short</li>
   <li>Short
    <ul>
       <li>Short</li>
       <li>Longer</li>
       <li>This is the longest (how do i get this longest width as width of all LI siblings with in this UL only)</li>
   <ul>
   </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

gio*_*_13 8

也许你可以使用这个offsetWidth礼仪.

function getMaxLiWidth(){
  var maxWidth = 0;
  $('li').each(function(i){
    if(this.offsetWidth > maxWidth)
      maxWidth = this.offsetWidth;
  });
  return maxWidth;
}
Run Code Online (Sandbox Code Playgroud) 如果你想要返回最长宽度的'li'元素,你应该在函数中保存'i'指示,然后你可以选择它,如:$('li:nth-child('+i+')').
该函数将是:
function getMaxLiWidth(){
  var maxWidth = 0,index=0;
  $('li').each(function(i){
    if(this.offsetWidth > maxWidth)
      {
        maxWidth = this.offsetWidth;
        index = i;
      }
  });
  return $('li:nth-child('+index+')');
}