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