angular.element() 参数要求是HTML string or DOMElement,
angular.element 虽然很接近 jQuery,但是直接通过 HTML tag 去获取元素还是不行的,最简单的办法是这样:
angular.element(document.querySelector('p'));
angular.element(document.querySelector('#id1'));
angular.element(document.querySelector('.class'));
注:querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。
Angular's jqLite
jqlite只提供以下的jQuery方法:
addClass()
after()
append()
attr()
- 不支持函数作为参数bind()
- 不支持命名空间,选择器或事件数据children()
- 不支持选择器clone()
contents()
css()
-只有将内联样式,不叫getcomputedstyle()data()
detach()
empty()
eq()
find()
- 通过标签名称限定查找hasClass()
html()
next()
- 不支持选择器on()
- 不支持命名空间,选择器或事件数据off()
- 不支持命名空间或选择器one()
- 不支持命名空间或选择器parent()
- 不支持选择器prepend()
prop()
ready()
remove()
removeAttr()
removeClass()
removeData()
replaceWith()
text()
toggleClass()
triggerHandler()
- 通过一个虚拟事件对象来处理。unbind()
- 不支持命名空间val()
wrap()
注:如何使用原生的方法
link:function(scope,elm,attr){
var oH = elm.css('height');
console.log(elm[0].offsetHeight);
}