我有一个片段:
$(document).ready(function(){
$('.imgtlist').each(function(index) {
$('#slide_box').attr('width', + 135);
});
});
重要的是,在加载时,计算类别为.imgtlist
的节点数量,并将135添加到#slide_box
的宽度属性。
我是否需要为每个循环定义一个var,然后根据.imgtlist
的数量增加?
试试这个:
$("#slide_box").width($("#slide_box").width() + 135 * $(".imgtlist").length);
这使#slide_box
的宽度增加了135*个.imgtlist
元素的数量。
这个片段应该在不迭代子元素的情况下完成。
也可以使用父元素的width()
方法,这样就不必搜索width属性。
$(document).ready(function(){
$('#slide_box').width($('.imgtlist').length * 135);
});
不要认为您需要每个语句。为什么不试试
var number = $('.imgtlist').length * 135;
$('#slide_box').attr('width', number);
这会让你得到项目的数量,乘以135,这将是你在每个语句中的数字。那么你只应用属性一次。
如果将函数作为参数传递,它将获得旧的width
作为参数。
$('#slide_box').width(function(i, width) {
return width+ 135 * $(".imgtlist").length;
});