0

我有一个片段:

 $(document).ready(function(){
    $('.imgtlist').each(function(index) {
        $('#slide_box').attr('width', + 135);
    });
});

本质上,在加载时,计算具有类的节点数.imgtlist并将 135 添加到#slide_box.

我是否需要为每个循环定义一个 var,然后根据 var 的数量增加.imgtlist

4

4 回答 4

3

尝试这个:

$("#slide_box").width($("#slide_box").width() + 135 * $(".imgtlist").length);

这会将#slide_box' 的宽度增加 135 *.imgtlist元素的数量。

于 2012-12-04T19:09:55.017 回答
0

如果您将函数作为参数传递,它将获取旧的width作为参数。

$('#slide_box').width(function(i, width) {
    return width+ 135 * $(".imgtlist").length;
});
于 2012-12-04T19:13:29.980 回答
0

这个片段应该在不遍历子元素的情况下完成它。

你也可以使用width()你父元素的方法,这样你就不用去搜索width属性了。

$(document).ready(function(){
  $('#slide_box').width($('.imgtlist').length * 135);
});
于 2012-12-04T19:10:56.163 回答
0

不要认为你需要 each 语句。为什么不试试

var number = $('.imgtlist').length * 135;

$('#slide_box').attr('width', number);

这将为您提供项目数量并将其乘以 135,这将是您在 eachstatement 中的数字。然后你只应用 attr 一次。

于 2012-12-04T19:11:58.793 回答