Jquery 如何获取宽度响应或自动的元素宽度

Jquery 如何获取宽度响应或自动的元素宽度,jquery,Jquery,我试图通过jquery获得li的宽度 我有一个类似的清单 <ul> <li>Home</li> <li>Advance Server and Server Confing</li> <li>FaQ</li> </ul> 它给了我每个li相同的宽度。我也尝试了.outerWidth()函数,但它给了我相同的宽度。您使用的是每个,这就是为什么您会得到它们的宽度 尝试将其用于单个元素

我试图通过jquery获得
li
的宽度

我有一个类似的清单

  <ul>
  <li>Home</li>
  <li>Advance Server and Server Confing</li>
  <li>FaQ</li>
  </ul> 

它给了我每个
li
相同的宽度。我也尝试了
.outerWidth()
函数,但它给了我相同的宽度。

您使用的是
每个
,这就是为什么您会得到它们的宽度

尝试将其用于单个元素,并尝试使用
(this)
,这将确保仅从当前元素获得结果。您也可以使用
attr

$('#main_menu ul li').click(function () {
  alert($(this).attr('id'));
}
这是一把小提琴:

对于您,可以使用
width
而不是
id

(摆弄宽度)

  • 高级服务器和服务器配置
  • 常见问题
$(“ul li span”)。每个(函数(){ 警报($(this.width()); });

因为无论内容如何,所有
li
元素都具有相同的宽度,也请参见使用firebug检查元素,每个元素都具有相同的宽度:)谢谢Arun,但如果我想在li的背景右侧设置箭头图像,则其位置不正确
$('#main_menu ul li').click(function () {
  alert($(this).attr('id'));
}
  <ul>
  <li><span>Home</span></li>
  <li><span>Advance Server and Server Confing</span></li>
  <li><span>FaQ</span></li>
  </ul> 


$( "ul li span" ).each(function() {
    alert($(this).width());  
});