我无法解决这个问题(学习JS),还有其他线程,但没有人帮助我。
根据'Mozilla':
添加节点很简单:
// Create a new paragraph element, and append it to the end of the document body
var p = document.createElement("p");
document.body.appendChild(p);
然而,当我做那样的事情时,我得到:
“...参数1不属于Node”
JS代码:
(function () {
var myNode = document.querySelector('#shiny-pics .pixgrid ul');
myNode.addEventListener("click", function(e) {
if (e.target.tagName === 'IMG') {
var myOverlay = document.createElement('div');
myOverlay.id = 'overlay';
document.body.appendChild('myOverlay');
/*console.log(typeof(myOverlay));*/
/*console.log(myOverlay.prototype.toString());*/
}
}, false); //image is clicked
})();
我还尝试查看我的var'myOverlay'的类型( typeof ),但它只是说 object 。
还有:'Object.prototype.toString',但我只看到第一个错误,表明该对象不是node类型。请参阅我的评论代码。
答案 0 :(得分:1)
您正在追加(或尝试追加)字符串'myOverlay'
,而不是您创建的节点。就像在第一个代码示例中一样,你没有写
document.body.appendChild('p');
你应该写
document.body.appendChild(myOverlay);