DOM querySelector 2条代码行之间的差异

时间:2018-12-11 14:05:02

标签: javascript

为什么第二行有效而第一行无效?

const elements{
     current: document.querySelector('#current-')
    }
        (elements.current + activePlayer).textContent = roundScore;

第二行

 document.querySelector('#current-' + activePlayer).textContent = roundScore;

1 个答案:

答案 0 :(得分:0)

elements.current将为您提供一个HTMLElement。 HTMLElement是一个对象。 如果将字符串连接到对象(反之亦然),则会得到一个字符串。

因此,您的陈述elements.current + activePlayer会给您"[object Object] 123"(假设您的activePlayer的值为123

textContent上没有名为String.prototype的属性

第二个之所以起作用,是因为您实际上是在定向并且HTMLElement上具有名为textContent的属性。