如何更改HTML元素的属性值会导致属性值的更改,反之亦然?

时间:2013-08-29 10:22:35

标签: javascript dom

我曾经认为更改HTML元素的属性值会导致属性值发生变化,但更改属性值不会导致属性发生变化,因为该属性就像蓝图所描述的那样。 HTML和属性是"实时数据"。

但事实证明,使用纯JavaScript,如果我们更改属性值,属性值也会更改。虽然通常,属性值可以是任何数据类型,例如字符串,布尔值或对象,而属性值应该只是一个字符串。另一个区别是属性名称不区分大小写,但属性名称区分大小写。 (如JavaScript Definitive Guide第6版,第375-376页中所述)。

我试过了: http://jsfiddle.net/5nBM3/1/

http://jsfiddle.net/5nBM3/2/设置属性值,http://jsfiddle.net/5nBM3/3/设置属性值。

如果我们使用:

设置属性值
el.setAttribute("src", "http://i.imgur.com/4rE6FHV.gif");

然后很明显,在setAttribute()内,它也可以调整属性值。但是如果我们使用:

设置属性值
el.src = "http://i.imgur.com/4rE6FHV.gif";

因此,如果我们将其视为obj.x = 1,那么它不应该导致任何其他更改。上面的行如何导致属性值也发生变化?是吗

  1. 对象setter和getter函数与ECMA-5(以及某些ECMA-3实现中)类似,如果对象只有属性xy,我们可以定义一个半径的setter和getter r,并将其用作a = obj.robj.r = 3,以便获取半径将调用一个函数来使用x和{{1来计算它设置y将根据新的r
  2. 调用一个函数来调整xy的值
  3. 一些观察者模型,以便属性观察属性值的变化,属性观察属性值的变化,或
  4. 我们可以认为它只是一个黑盒子或者#34;魔术",客户端JavaScript总是保持属性和属性之间的值等价?

0 个答案:

没有答案