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找不到那个对象吗?我不明白你一开始想做什么。您正在使用的控制台日志没有任何实际应用程序