我是JavaScript和jQuery的初学者。
这是我的问题
var a = $("selector").height(); // or other methods
如果我想将此元素的高度更改为" b"
我为什么要写$("selector").height("b");
而不是" a = b" ??
答案 0 :(得分:5)
这是setter和getter之间的区别,作为另一种编程语言。
$(selector).height()
返回selector
的高度,因此是getter。
$(selector).height("90")
设置高度为90px,因此设置器也是如此。
当您var a = $(selector).height()
时,您将selector
的高度存储到a
变量。
答案 1 :(得分:3)
当您编写var a = $("selector").height();
时,您要将高度方法调用的值赋给变量a
。
您不会以任何方式通过变量a
创建指向实际高度的链接。这就是为什么你不能说a=100
其中100是新高度的原因。
您必须使用方法调用$("selector").height(a)
,其中a
是一个包含所需高度数值的变量。
答案 2 :(得分:1)
The $.fn.height method是一个将返回数字的getter。你可以在心灵内容中添加或减去这个数字,但它不会让你到任何地方。
当您传递参数时,它将成为实际更改所选元素的setter。
答案 3 :(得分:1)
因为b必须附加到jQuery对象($)才能在DOM中操作它。使a = b简单地等于值。它对DOM本身没有任何作用。您还需要从“b”变量中删除引号 - 否则您将传递字符串“b”而不是变量本身。
var b = 100;
$("selector").height(b);