Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery创建的节点是伪造的吗?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript jQuery创建的节点是伪造的吗?

Javascript jQuery创建的节点是伪造的吗?,javascript,jquery,dom,Javascript,Jquery,Dom,我已经和这个争论了好几个小时,但它还是让我无法理解 var newLabel = $('<div></div>'); newLabel.appendTo("#f0"); console.log($("#f0").html()); // <br><div></div> console.log(newLabel); // [object Object] var div = newLabel.first().ge

我已经和这个争论了好几个小时,但它还是让我无法理解

var newLabel = $('<div></div>');
newLabel.appendTo("#f0");
console.log($("#f0").html());     // <br><div></div>
console.log(newLabel);            // [object Object]
var div = newLabel.first().get();
console.log(div);                 // [object HTMLDivElement]
if( div instanceof HTMLDivElement ) { console.log("VALID"); } // 
else { console.log("INVALID"); }  // INVALID
console.log(div.appendChild);     // undefined
var newLabel=$('');
新标签。附于(“#f0”);
console.log($(“#f0”).html());//
console.log(newLabel);//[对象] var div=newLabel.first().get(); console.log(div);//[对象HtmlLevel] if(htmldevelment的div instanceof){console.log(“VALID”);}// else{console.log(“无效”);}//无效 console.log(div.appendChild);//未定义
我们使用jQuery创建一个div元素,并将其附加到DOM元素。它进去了,检查一下。对象打印为“HtmlDevice”,请选中

不过。它使实例失败。此外,它应该有appendChild方法,但其未定义。(事实上,如果我尝试调用它,它会抛出一个错误。)


这里到底发生了什么事?jQuery为我们创建的元素是假的吗?

get()
返回一个数组,因此在您的例子中,
div
是一个数组(它显然不是
htmldevelment
也没有方法
appendChild
)。请参阅:。如果您使用
.get(0)
(或者只是
[0]
),您将得到实际的
div
元素。

get()
返回一个数组,因此
div
在您的例子中是一个数组(显然它不是
htmldevelment
也没有方法
appendChild
)。请参阅:。请尝试使用
.get(0)
。如果要查看控制台上的内容,请使用
console.dir(无论什么)
而不是
console.log()
。或者更好,只需在代码中设置一个断点,并直接检查变量。@FelixKling:将答案作为注释发布的问题是OP不能接受它们。@GolDDranks:t.J.Crowder所说的。此外,
console.log
可以更智能地打印额外的信息(比如值是一个数组)。(这只是Felix Kling的评论——加上最微小的一点——以CW[无代表生成]的形式发布,到时候OP可以接受。)