这可能是一个非常基本的问题,但我已经尝试过几件事,但它似乎没有用。
我有这个var:
w = $("#el").width();
我想通过var 更改#el
的宽度。因此,使用var w
设置宽度,而不重复使用整个$("#el").width()
。我怎么做?我已经尝试了以下内容:
w = 50;
w == 50;
w = "50px";
w == "50px";
但这些似乎不起作用。
所以我想在函数中使用w
来设置#el
的宽度。所以我不想使用$("#el").width()
因为我会使用它很多。我需要使用那个var。
答案 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)
答案 5 :(得分:1)
答案 6 :(得分:0)
w = 50;
这只会更改变量值。
$("#el").width(w);
这应该改变元素宽度。