当前位置 : 主页 > 网页制作 > JQuery >

jquery – 如何计算列表项的宽度

来源:互联网 收集:自由互联 发布时间:2021-06-15
我试图用不同的列表项计算 我的HTML: ul li style="disply:block; float:left"Some Text/li li style="disply:block; float:left"Some More Text/li li style="disply:block; float:left"Some Other Text/li /ul 我是标准的功能 var w
我试图用不同的列表项计算

我的HTML:

<ul>

     <li style="disply:block; float:left">Some Text</li>
     <li style="disply:block; float:left">Some More Text</li>
     <li style="disply:block; float:left">Some Other Text</li>

 </ul>

我是标准的功能

var width = $(‘li’).outerWidth()

但是这会根据第一个标签为每个标签计算相同的宽度.

我怎样才能得到不同的宽度?什么作为我的最终结果我想在李之前有李宽度之前…如果这是感觉?

<ul>

     <li style="disply:block; float:left">Some Text</li>
       <div style="width" />
     <li style="disply:block; float:left">Some More Text</li>
       <div style="width" />
     <li style="disply:block; float:left">Some Other Text</li>
       <div style="width" />

 </ul>

非常感谢您的帮助.

$(‘li’).outerWidth()将获得第一个< li>的宽度,如您所知.

From the docs

Get the outer width (includes the
border and padding by default) for the
first matched element.

我们需要的是每个的宽度,所以像$.map()这样的东西可以很好地工作.这将给我们一系列宽度

var widths = $.map($('li'), function(e) {
    return $(e).outerwidth();
});

编辑:

这个怎么样

$('li').each(function() {
    var $this = $(this);
    var width = $this.outerWidth();
    $this.after($('<div style="width:' + width + 'px" >'));
});
网友评论