关于jquery和javascript的概念

时间:2016-01-14 16:39:59

标签: javascript jquery

我是JavaScript和jQuery的初学者。

这是我的问题

var a = $("selector").height(); // or other methods 

如果我想将此元素的高度更改为" b"

我为什么要写$("selector").height("b");而不是" a = b" ??

4 个答案:

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