更改已设置的变量的值

时间:2013-03-22 13:08:29

标签: jquery variables

这可能是一个非常基本的问题,但我已经尝试过几件事,但它似乎没有用。

我有这个var:

w = $("#el").width();

我想通过var 更改#el的宽度。因此,使用var w设置宽度,而不重复使用整个$("#el").width()。我怎么做?我已经尝试了以下内容:

w = 50;
w == 50;
w = "50px";
w == "50px";

但这些似乎不起作用。

所以我想在函数中使用w来设置#el的宽度。所以我不想使用$("#el").width()因为我会使用它很多。我需要使用那个var。

7 个答案:

答案 0 :(得分:5)

.width()接受参数。

 $("#el").width(100);//set width to 100

答案 1 :(得分:4)

如果您按住功能

var w = (function() {
   var $el = $("#el"); //cache the query selector to only use once
   return function(x){
       if(typeof x ==="undefined"){
          return $el.width();
       }
       return $el.width(x);
   };
})();

...然后你可以这样做:

w();//get the width
w(50);//set the width

答案 2 :(得分:3)

您的变量不是直播。它是分配时宽度的副本。更改变量不会改变实际宽度。

相反,你需要这样做:

$("#el").width(50);

答案 3 :(得分:2)

w = $("#el").width(); 

仅将el的宽度值传递给w,而不是参考。这意味着w在创建该语句时保持一个等于el的宽度的整数。

要更改el的宽度,您只需使用函数参数:

$("#el").width(50); 

使用带参数的函数不会改变函数的返回类型。 $("#el").width(50);不返回新的宽度,因此您无法使用该语句 w = $("#el").width(50);为了根据该变量更新变量和实际宽度,必须这样做:

w = 50;
$("#el").width(w); 

答案 4 :(得分:1)

see here

var w = $("#el").width();

 $("#el").width(w);

你可以这样做

答案 5 :(得分:1)

尝试:

var w = 100;
$("#el").width(w);

有关详细信息,请参阅width() documentation

答案 6 :(得分:0)

w = 50;

这只会更改变量值。

$("#el").width(w);

这应该改变元素宽度。