搜尋

首頁  >  問答  >  主體

如何使用angular.js中的jqlite

文件中的說明:

angular.element(element)

我自己的呼叫:

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

根本沒辦法執行,有大神來講解一下嗎?

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

PHP中文网PHP中文网2776 天前619

全部回覆(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
  • 取消回覆