如果我们加载jQuery然后加载Angular.js,则RCode
为真,一切都很清楚。
angular.element === $
和angular.element("<ul>")
都会创建$("<ul>")
元素。
但是,如果我们现在不首先加载jQuery,ul
就像jQuery一样:它创建了一个angular.element("<ul>")
元素,并定义了ul
但$
不会创建$("<ul>")
元素但会抛出错误。那么ul
恰好是jqLite吗?在这种情况下,angular.element
是什么?
答案 0 :(得分:4)
Angular没有定义$
,但我认为您正在定义它,因为您使用的是浏览器的开发工具(特别是在Chrome中)。在Chrome中,$
默认定义为document.querySelector()
的别名,$$
是document.querySelectorAll()
的别名。如果jQuery被加载到页面中$
未由Chrome定义,而是延迟到jQuery。
在Angular中,angular.element()
默认是jqLite,但是如果jQuery在angular之前被删除,那么它再次推迟到jQuery。