Javascript append和appendChild是否被覆盖?

Javascript append和appendChild是否被覆盖?,javascript,jquery,jspm,Javascript,Jquery,Jspm,我使用的是jspmBundleSFX 在我的一个目录中的一个index.html中,当我键入$(“#sfsdfasfsdaf”)。在控制台中追加 我得到function(){return x(this,arguments,function(a){if(1==this.nodeType | | | 11==this.nodeType | | 9==this.nodeType){var b=s(this,a);b.appendChild(a)}}Chrome说它属于main.js,这是一个捆绑的、经

我使用的是
jspmBundleSFX

在我的一个目录中的一个
index.html
中,当我键入
$(“#sfsdfasfsdaf”)。在控制台中追加

我得到
function(){return x(this,arguments,function(a){if(1==this.nodeType | | | 11==this.nodeType | | 9==this.nodeType){var b=s(this,a);b.appendChild(a)}}
Chrome说它属于
main.js
,这是一个捆绑的、经过修饰的js

$(“#sfsdfasfsdaf”)
甚至不存在,这是什么

对于存在的ID,
$(“#canvas”)。append
会得到相同的结果。
appendChild
但是返回
undefined

在另一个
index.html
目录中,一切都非常正常。我不知道如何解决这个问题。这两个
index.html
都包含
main.js
uglified文件


编辑:我替换了
$(“#画布”)
document.getElementById('canvas')现在可以正常工作了。然而,我仍然不知道为什么会发生这个问题。某些脚本是否覆盖了jQuery或与jQuery冲突?

您正在创建一个jQuery对象。它可能是一个空的jQuery对象(如果元素不存在,或者更准确地说,如果没有与选择器匹配的元素),但它仍然是一个jQuery对象

因此,它仍然拥有所有jQuery方法,例如
.append
。如果你打电话给它,它什么也做不了

然而,如果元素不存在,香草JavaScript会给出
null
(例如
document.getElementById('herpaderp')
将是
null
),并且
null
没有元素所具有的方法,例如
appendChild


我个人认为这是一件好事——如果我说我想要一个元素,而且它不存在,那么可能会有更大的问题,并且应该抛出一个错误,但是jQuery将继续愉快地继续下去。

< p>你正在创建一个jQuery对象。它可能是一个空的jQuery对象(如果元素不存在,或者更准确地说,如果没有与选择器匹配的元素),但它仍然是一个jQuery对象

因此,它仍然拥有所有jQuery方法,例如
.append
。如果你打电话给它,它什么也做不了

然而,如果元素不存在,香草JavaScript会给出
null
(例如
document.getElementById('herpaderp')
将是
null
),并且
null
没有元素所具有的方法,例如
appendChild

我个人认为这是一个很好的事情-如果我说我想要一个元素,它不存在,可能有更大的问题和错误应该扔,但jQuery将继续愉快地继续下去。 $(“#sfsdfasfsdaf”)甚至不存在,这是什么

原因是
$(选择器)
将始终返回
jQuery
对象,无论是否存在匹配的元素。该对象将始终包含一个属性
append
,它是一个函数。没有jQuery方法
appendChild
,这就是为什么您会看到未定义

除此之外,根本不清楚你在试图做什么,或者你有什么更高层次的问题

$(“#sfsdfasfsdaf”)甚至不存在,这是什么

原因是
$(选择器)
将始终返回
jQuery
对象,无论是否存在匹配的元素。该对象将始终包含一个属性
append
,它是一个函数。没有jQuery方法
appendChild
,这就是为什么您会看到未定义


除此之外,根本不清楚您在尝试做什么,或者您遇到了什么更高级别的问题

当我重复查找存在的div的id时,我得到了相同的结果。jQuery找不到那个对象吗?我不明白你一开始想做什么。您正在使用的控制台日志没有任何实际应用程序当我对存在的div的id进行重复时,得到了相同的结果。jQuery找不到那个对象吗?我不明白你一开始想做什么。您正在使用的控制台日志没有任何实际应用程序