为什么我需要为我的DOM操作打破我的点运算符?
我有这个练习来在节元素的末尾添加一个紫色块。以下是行不通的:
let colorSect = document.querySelector('section')
let newDiv = document.createElement('div').className = 'purple'
colorSect.appendChild(newDiv) //Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'
然而,像这样打破它确实有效:
let colorSect = document.querySelector('section')
let newDiv = document.createElement('div')
newDiv.className = 'purple'
colorSect.appendChild(newDiv)
试图理解为什么它需要像这样分解?谢谢你。
回答
当你写这个:
let newDiv = document.createElement('div').className = 'purple'
该newDiv变量包含'purple'这不是一个节点。
这称为“分配链”,您可以在此处阅读更多相关信息:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment