©
This document uses PHP Chinese website manual Release
封装一个原始DOM元素或HTML字符串为一个 jQuery 元素。
如果存在jQuery, angular.element
作为jQuery 函数的别名。如果不存在jQuery,angular.element
委托到Angular内建的jQuery子集,称为"jQuery lite" 或 "jqLite."
要使用jQuery,只要简单的在DOMContentLoaded
事件触发前载入即可。
jqLite只提供了以下jQuery方法:
addClass()
after()
append()
attr()
bind()
- 不支持namespaces、selectors或eventDatachildren()
- 不支持selectorsclone()
contents()
css()
data()
empty()
eq()
find()
- 只限于根据标签名查找hasClass()
html()
next()
- 不支持selectorson()
- 不支持namespaces、selectors或eventDataoff()
- 不支持namespaces、selectorsone()
- 不支持namespaces、selectorsparent()
- 不支持selectorsprepend()
prop()
ready()
remove()
removeAttr()
removeClass()
removeData()
replaceWith()
text()
toggleClass()
triggerHandler()
- 传递一个虚拟的事件对象到handlersunbind()
- 不支持namespacesval()
wrap()
Angular同时提供了以下额外的方法和事件到jQuery和jqLite:
$destroy
- AngularJS拦截所有jqLite/jQuery的DOM销毁api,并在所有DOM 节点被移除时触发这个事件。这可以在它被移除前用于清除任何绑定到DOM元素的第三方内容。controller(name)
-获取当前元素或它父亲的控制器。默认获取的控制器与ngController
指令相关。如果name
是驼峰式的指令名,这个指令的控制器会被获取到(如:
'ngModel'
)。injector()
- 获取当前元素或它父亲的注入。scope()
- 获取当前元素或它父亲的 scope 。isolateScope()
- 获取直接附加到当前元素的独立 scope。这个获取器只能用于包含开始一个新的独立域的指令的元素上。在这个元素上调用scope()
永远返回原始的非独立域。inheritedData()
- 等同于 data()
, 但是会遍历DOM直到找到一个值或到达最顶部父元素。angular.element(element);
参数 | 类型 | 详述 |
---|---|---|
element | stringDOMElement |
要被封装到jQuery的HTML字符串或DOM元素。 |
Object |
jQuery对象。 |