HTML DOM 对象/属性作为变量问题

问题描述 投票:0回答:1

尝试在 JavaScript 中创建选择器/变量,但我无法让它工作。

这个不行。

var checkbox = document.getElementById(ID).checked;
checkbox = true;

这个有效

var checkbox = document.getElementById(ID);
checkbox.checked = true;

有什么区别?

我无意中避免了 JavaScript 规则的哪一部分?

javascript html dom-events
1个回答
0
投票

区别非常简单。让我们通过一个简单的例子来理解。

var checkbox = document.getElementById('vehicle1').checked;
checkbox = true;

上面你只是简单地提取了复选框的值,然后直接在变量中进行更改,该变量与 idvehicle1 的 DOM 元素没有直接关系

并且在下面的示例中,您只是尝试直接更改复选框的选中值。

var checkbox1 = document.getElementById('vehicle1');
checkbox1.checked = true;

正确的参考示例将是这样的

var checkbox1 = document.getElementById('vehicle1');
var dummyCheckbox = checkbox1
dummyCheckbox.checked = true;

您可以阅读这篇文章来了解想法https://www.freecodecamp.org/news/javascript-assigning-values-vs-assigning-references/#:~:text=When%20we%20assign%20a% 20reference,变量%20影响%20the%20original%20value.&text=在%20the%20example%20above%2C%20the%20variable%20array2%20is%20分配%20a,到%20the%20original%20array%20array1%20.

© www.soinside.com 2019 - 2024. All rights reserved.