如何更新函数外的变量?例如,我有这个:
var max_index = 0;
//loop through the z-index's
$(".widget_container").each(function(){
if($(this).attr("z-index") > max_index){
max_index = $(this).attr("z-index") + 1;
}
});
alert(max_index);
唯一的问题是max_index
始终提醒0
。如何更新max_index
?
答案 0 :(得分:3)
是的,您可以更新变量,可以从外部closure访问,问题是 z-index
不是属性,它是 CSS 属性,您可以使用jQuery css函数获取它:
var max_index = 0;
//loop through the z-index's
$(".widget_container").each(function(){
if($(this).css('zIndex') > max_index){
max_index = +$(this).css('zIndex') + 1;
}
});
alert(max_index);
请注意,我在添加之前使用加号,即一元加号运算符,它将zIndex
值转换为数字,因为此函数返回字符串,如果{{1}的操作数之一operator是一个字符串,连接完成(+
)。
另请注意,包含短划线的CSS属性(例如"0" + 1 = "01"
或background-color
)会被移除短划线并将下一个单词大写。
答案 1 :(得分:0)
我认为
$(this).attr("z-index")
应该是
$(this).css("z-index")
返回一个字符串
使用:
parseInt($(this).css("z-index"))