DOM元素与它所分配的变量之间直接链接的背后原因是什么?

时间:2018-10-23 09:37:15

标签: javascript

我是一个新手,我真的很想了解为什么我们创建的变量不仅会获取DOM元素内部的值,还会变成DOM元素?

这是一些基本代码;

var elementValues = document.getElementById("p1");
elementValues.style.color = "red";

 // I don't understand why we don't need this step in order to manipulate the DOM.
// document.getElementById.getElementById("p1") = elementValues; 

我们基本上不是说要复制ID为 p1 的DOM元素中的值并将其粘贴到 elementValues 中吗?

但是,当我更改 elementValues 的颜色时,为什么DOM元素的颜色也会改变?据我了解,它的作用就像一个指针。

2 个答案:

答案 0 :(得分:2)

在Javascript中,对象变量存储对对象的引用。因此,document.getElementById返回一个引用。因此,当您修改elementsValues的值时,您正在编辑引用的对象。

看看Working with Objects - Comparing Object。您也可以阅读整个页面以了解概述。

答案 1 :(得分:0)

是的,它就像一个指针。 通过使用Sub calc_full() Dim i As Single With Worksheets("9") .UsedRange.clear .Range("a1").Value = "Input" .Range("b1").Value = "Output" .Range("c1").Value = "Input" .Range("d1").Value = "Output" For i = 40 To 45 Step 0.25 For k = -2 To 2 Step 0.25 Worksheets("1_GENERAL").Range("A2").Value = i With .Cells(Rows.Count, 1).End(xlUp) .Offset(1, 0).Value = i .Offset(1, 1).Value = Worksheets("4.MINUTES").Range("BL371").Value End With With .Cells(Cols.Count, 1).End(xlUp) .Offset(2, 0).Value = k .Offset(2, 1).Value = Worksheets("4.MINUTES").Range("BL371").Value End With Next i Next k End With End Sub ,您可以将对DOM元素的引用分配给变量。元素的任何内容都不会保存到变量,而是“在哪里可以找到”。