文档中的说明:
angular.element(element)
我自己的调用:
angular.element("xx").addClass("xx")
根本没法执行,有大神给讲解一下吗?
http://jsfiddle.net/twn39/sy38y/1/
认证0级讲师
angular.element 虽然很接近 jQuery,但是直接通过 HTML tag 去获取元素还是不行的,最简单的办法是这样:
angular.element(document.querySelector('p'));
http://jsfiddle.net/sy38y/2/
看文档可以看到 angular.element() 参数要求是HTML string or DOMElement, 但是你写的是一个selector, 是不符合angular.element的参数要求的. 如果你想使用这种用法, 你需要添加jquery
改成这样:
var par = document.getElementsByTagName('p')[0]; angular.element(par).addClass('blue');
angular不建议直接操作DOM,所以如果你希望addclass,建议可以这么做(你的连接我无法打开,不知道你代码怎么写的,所以根据我自己的来吧)
HTML
<button ng-click="showActive()"></button> <p ng-class="{'active':show===1}"></p>
js
$scope.showActive=function(){ $scope.show=1; }
angular.element(document).find('xx').addClass('yy')
是的,本来还想着通过ng-click吧当前点击的按钮对象传过去,但最后发现好像angular不允许这样做。。。只好还是用angular内置的jQlite去处理了!
angular.element 虽然很接近 jQuery,但是直接通过 HTML tag 去获取元素还是不行的,最简单的办法是这样:
http://jsfiddle.net/sy38y/2/
看文档可以看到
angular.element() 参数要求是HTML string or DOMElement, 但是你写的是一个selector, 是不符合angular.element的参数要求的. 如果你想使用这种用法, 你需要添加jquery
改成这样:
angular不建议直接操作DOM,所以如果你希望addclass,建议可以这么做(你的连接我无法打开,不知道你代码怎么写的,所以根据我自己的来吧)
HTML
js
是的,本来还想着通过ng-click吧当前点击的按钮对象传过去,但最后发现好像angular不允许这样做。。。
只好还是用angular内置的jQlite去处理了!