angular.element
将DOM元素或者HTML字符串封装成一个jquery对象。不接收像jquery那样的使用选择器查找元素。
//将HTML字符串作为参数
angular.element('<div >整个DOM元素的内容</div>').html();
//将DOM元素作为参数,区别jquery的$('')返回的是一个对象
var a = document.getElementById('test'); alert(angular.element(a).html());
如果页面引入了jquery类库,angular.element()就被等同于jquery中的$(''),如果jquery对象不存在,angular.element可以调用Angular中嵌入的精简版的jQuery library(名为: "jQuery lite" or "jqLite"),只能使用DOM元素或者HTML字符串作为参数。
在Angular应用中,所有元素的引用都是通过包装在jquery或者jqLite(指令中的complie函数和link函数的参数elem都是调用的对象,而不是原生的DOM元素)
NOTE:angular.element不像jquery那样通过标签名或者选择器名查找元素。想要按照标签名查找元素,可以使用angular.element(document).find(...),或者使用$document.find(), 或者通过原生的JS查找元素的方法--document.getElementsByTagName()
Angular's jqLite支持的方法----用法可以参考jquery
addClass()--添加新样式到class中
after()
append()--追加DOM元素到末尾
attr()--添加或获取属性---不支持用函数做为参数
bind()--绑定事件---不支持命名空间,选择器,事件对象
children()--选择子元素---不支持选择器
clone()--克隆元素
contents()
css()--添加样式属性---只返回内联样式, 不调用getComputedStyle(), 设置样式的时候,不能自动将数字转化成字符串或追加'px', 也不能自动地添加属性前缀。
data()--绑定或获取数据
detach()--移除DOM元素
empty()
eq()
find()--只能获取元素的标签名
hasClass()
html()
next()---不支持选择器
off()---不支持命名空间,选择器,事件对象
one()---不支持命名空间,选择器
parent()---不支持选择器
prepend()
prop()
ready()
remove()
removeAttr()
removeClass()
removeData()
replaceWith()
text()
toggleClass()
triggerHandler()
unbind()
val()
wrap()