如何使用angular.js中的jqlite

浏览:35日期:2023-02-09

问题描述

文档中的说明:

angular.element(element)

我自己的调用:

angular.element('xx').addClass('xx')

根本没法执行,有大神给讲解一下吗?

http://jsfiddle.net/twn39/sy38y/1/

问题解答

回答1:

angular.element 虽然很接近 jQuery,但是直接通过 HTML tag 去获取元素还是不行的,最简单的办法是这样:

angular.element(document.querySelector(’p’));

http://jsfiddle.net/sy38y/2/

回答2:

看文档可以看到angular.element() 参数要求是HTML string or DOMElement, 但是你写的是一个selector, 是不符合angular.element的参数要求的. 如果你想使用这种用法, 你需要添加jquery

回答3:

改成这样:

var par = document.getElementsByTagName(’p’)[0]; angular.element(par).addClass(’blue’);回答4:

angular不建议直接操作DOM,所以如果你希望addclass,建议可以这么做(你的连接我无法打开,不知道你代码怎么写的,所以根据我自己的来吧)

HTML

<button ng-click='showActive()'></button><p ng-class='{’active’:show===1}'></p>

js

$scope.showActive=function(){ $scope.show=1;}回答5:

angular.element(document).find(’xx’).addClass(’yy’)回答6:

是的,本来还想着通过ng-click吧当前点击的按钮对象传过去,但最后发现好像angular不允许这样做。。。只好还是用angular内置的jQlite去处理了!

相关文章: