jquery变量外部函数

时间:2009-10-30 02:57:56

标签: jquery function variables

如何更新函数外的变量?例如,我有这个:

        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

2 个答案:

答案 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"))