queryselector(“ ..”)。textContent不起作用,不确定为什么

时间:2019-07-04 17:48:12

标签: javascript

我一般对Javascript和程序设计都不熟悉,因此我试图构建一个简单的数学应用程序以进行一些练习。我能够使代码按预期工作,但前提是我不输入{ {1}},当定义我的变量时,稍后再将它们放进去,但是这很笨重而且很干。如果我将它们放入变量中,则html在空跨度中不返回任何内容(代码中的所有ID均为空跨度),因此就像页面加载一样,然后不使用Javascript计算的值进行更新吗?如何在第二部分中每次都不必添加.textContent的情况下捕获变量中的内容?

我尝试使用.textContent代替.value。只有将textContent添加到第二部分并将其保留在第一部分之外,数字才可以正常生成并呈现在页面上。

startNumber跨度在页面加载时为空:

.textContent

startNumber跨度在页面加载时具有1到20之间的随机数:

var startNumber = document.querySelector("#startNumber").textContent;
startNumber = Math.floor((Math.random() * 20) + 1);

我希望两者都能工作,但只有第二个能工作,这意味着每次引用跨度中的数字时,我都必须写var startNumber = document.querySelector("#startNumber"); startNumber.textContent = Math.floor((Math.random() * 20) + 1);

1 个答案:

答案 0 :(得分:0)

仅对象和数组为引用,字符串作为值传递/复制。

document.querySelector(“#startNumber”)是一个对象,是一个引用。 document.querySelector(“#startNumber”)。textContent是字符串,而不是引用

请参阅:Javascript by reference vs. by value