搜索

首页  >  问答  >  正文

如何使用angular.js中的jqlite

文档中的说明:

angular.element(element)

我自己的调用:

angular.element("xx").addClass("xx")

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

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

PHP中文网PHP中文网2743 天前590

全部回复(6)我来回复

  • 習慣沉默

    習慣沉默2017-05-15 16:52:05

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

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

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

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-15 16:52:05

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

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-15 16:52:05

    改成这样:

        var par = document.getElementsByTagName('p')[0];
        angular.element(par).addClass('blue');
    

    回复
    0
  • 迷茫

    迷茫2017-05-15 16:52:05

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

    HTML

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

    js

    $scope.showActive=function(){
        $scope.show=1;
    }
    

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 16:52:05

    雷雷

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 16:52:05

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

    回复
    0
  • 取消回复