溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

element()函數(shù)如何在angular中使用

發(fā)布時(shí)間:2021-03-30 17:21:33 來源:億速云 閱讀:156 作者:Leah 欄目:web開發(fā)

element()函數(shù)如何在angular中使用?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

使用angular.element()獲取一個(gè)dom的方法。

1.可以使用jquery的選擇器

2.可以使用javascript的原生查找元素的方法

element()函數(shù)如何在angular中使用

element()函數(shù)如何在angular中使用

下面是angular.element()提供的方法

<input type="checkbox" class="input" />
  <input type="text" class="input1" value="值" />
  <div class="test">div1</div>
  <div class="test">div2</div>
  <div class="test1">
    <p>子元素</p>
  </div>
  <div class="test2" data-value="wwe">
    <!--注釋-->
    <p>子元素1</p>
  </div>
  <div class="test3 test4">
    <p>p1</p>
    <p class="p2">p2</p>
    <p>p3</p>
    <p>p4</p>
    <p>p5</p>
    <span> 
      span1
    </span>
  </div>
  <script>
    //bind() - 為一個(gè)元素綁定一個(gè)事件處理程序
    //data()-在匹配元素上存儲(chǔ)任意相關(guān)數(shù)據(jù)
    //on() - 在選定的元素上綁定一個(gè)或多個(gè)事件處理函數(shù)
    //off() - 移除一個(gè)事件處理函數(shù)
    //one() - 為元素的事件添加處理函數(shù)。處理函數(shù)在每個(gè)元素上每種事件類型最多執(zhí)行一次
    //ready()-當(dāng)DOM準(zhǔn)備就緒時(shí),指定一個(gè)函數(shù)來執(zhí)行
    //removeData()-在元素上移除綁定的數(shù)據(jù)
    //triggerHandler() -為一個(gè)事件執(zhí)行附加到元素的所有處理程序
    //unbind() - 從元素上刪除一個(gè)以前附加事件處理程序

    //addClass()-為每個(gè)匹配的元素添加指定的樣式類名
    angular.element(document.querySelectorAll(".test")).addClass("asd");

    //after()-在匹配元素集合中的每個(gè)元素后面插入?yún)?shù)所指定的內(nèi)容,作為其兄弟節(jié)點(diǎn)
    angular.element(document.querySelector(".test")).after("<p>我是通過after()添加進(jìn)來的</p>");

    //append()-在每個(gè)匹配元素里面的末尾處插入?yún)?shù)內(nèi)容
    angular.element(document.querySelector(".test")).append("<p>我是通過append()添加進(jìn)來的</p>");

    //attr() - 獲取匹配的元素集合中的第一個(gè)元素的屬性的值
    console.log(angular.element(document.querySelector(".test")).attr("class"));

    //children() - 獲得匹配元素集合中每個(gè)元素的子元素,選擇器選擇性篩選
    console.log(angular.element(document.querySelector(".test1")).children());

    //clone()-創(chuàng)建一個(gè)匹配的元素集合的深度拷貝副本
    angular.element(document.querySelector(".test")).append(angular.element(document.querySelector(".test1")).clone());

    //contents()-獲得匹配元素集合中每個(gè)元素的子元素,包括文字和注釋節(jié)點(diǎn)
    console.log(angular.element(document.querySelector(".test2")).contents());

    //css() - 獲取匹配元素集合中的第一個(gè)元素的樣式屬性的值
    console.log(angular.element(document.querySelector(".test3")).css("color"));

    //detach()-從DOM中去掉所有匹配的元素
    angular.element(document.querySelector(".test1 p")).detach();

    //empty()-從DOM中移除集合中匹配元素的所有子節(jié)點(diǎn)
    angular.element(document.querySelector(".test2")).empty();

    //eq()-減少匹配元素的集合為指定的索引的哪一個(gè)元素
    console.log(angular.element(document.querySelectorAll(".test3 p")).eq(2)[0].innerHTML);

    //find() - 通過一個(gè)選擇器,jQuery對(duì)象,或元素過濾,得到當(dāng)前匹配的元素集合中每個(gè)元素的后代
    console.log(angular.element(document.querySelector(".test3")).find("span")[0].innerHTML);

    //hasClass()-確定任何一個(gè)匹配元素是否有被分配給定的(樣式)類
    console.log(angular.element(document.querySelector(".test3")).hasClass("test4"));

    //html()-獲取集合中第一個(gè)匹配元素的HTML內(nèi)容
    console.log(angular.element(document.querySelector(".test2")).html());

    //next() - 取得匹配的元素集合中每一個(gè)元素緊鄰的后面同輩元素的元素集合。如果提供一個(gè)選擇器,那么只有緊跟著的兄弟元素滿足選擇器時(shí),才會(huì)返回此元素
    console.log(angular.element(document.querySelector(".test3 .p2")).next()[0].innerHTML);

    //parent() - 取得匹配元素集合中,每個(gè)元素的父元素,可以提供一個(gè)可選的選擇器
    console.log(angular.element(document.querySelector("span")).parent());


    //prepend()-將參數(shù)內(nèi)容插入到每個(gè)匹配元素的前面(元素內(nèi)部)
    angular.element(document.querySelector(".test")).prepend("<p>我是通過prepend()添加進(jìn)來的</p>");

    //prop()-獲取匹配的元素集中第一個(gè)元素的屬性(property)值
    angular.element(document.querySelector(".input")).prop("checked", true);

    //remove()-將匹配元素集合從DOM中刪除。(同時(shí)移除元素上的事件及 jQuery 數(shù)據(jù)。)
    angular.element(document.querySelector(".test2")).remove();

    //removeAttr()-為匹配的元素集合中的每個(gè)元素中移除一個(gè)屬性(attribute)
    angular.element(document.querySelector(".test2")).removeAttr("data-value");

    //removeClass()-移除集合中每個(gè)匹配元素上一個(gè),多個(gè)或全部樣式
    angular.element(document.querySelector(".test3")).removeClass("test4");

    //replaceWith() - 用提供的內(nèi)容替換集合中所有匹配的元素并且返回被刪除元素的集合
    angular.element(document.querySelector(".test1")).replaceWith("<p>replaceWith()替換的內(nèi)容</p>");

    //text()-得到匹配元素集合中每個(gè)元素的合并文本,包括他們的后代
    console.log(angular.element(document.querySelector(".test")).text());

    //toggleClass()-在匹配的元素集合中的每個(gè)元素上添加或刪除一個(gè)或多個(gè)樣式類,取決于這個(gè)樣式類是否存在或值切換屬性。即:如果存在(不存在)就刪除(添加)一個(gè)類
    angular.element(document.querySelector(".test1")).toggleClass("test1");
    angular.element(document.querySelector(".test2")).toggleClass("test1");

    //val()-獲取匹配的元素集合中第一個(gè)元素的當(dāng)前值
    console.log(angular.element(document.querySelector(".input1")).val());

    //wrap() - 在每個(gè)匹配的元素外層包上一個(gè)html元素
    angular.element(document.querySelector(".test1")).wrap("<div></div>");
  </script>

事件:

$destory:當(dāng)Dom被移除時(shí), Angular 攔截所以的jqLite或者jquery Dom對(duì)象,銷毀api和事件。這個(gè)事件能在Dom被移除前用來清除任何Dom上的相關(guān)。

方法:

controller(name):檢索當(dāng)前元素或其父元素的controller,默認(rèn)情況下,檢索與ngController相關(guān)的controller,如果name是以駝峰模式命名的指令名稱,那么這個(gè)指令的controller就是這樣(如'ngModel') 。

injector():檢索當(dāng)前元素或其父元素的依賴注入。

scope():檢索當(dāng)前元素或其父元素的scope。

isolateScope():如果有一個(gè)scope直接附著在當(dāng)前元素,檢索一個(gè)隔離的scope,這僅用于元素包含一個(gè)創(chuàng)建了新的隔離的scope的指令,這個(gè)元素調(diào)用scope()總是返回原來的非隔離scope。

inheritedData():和data()一樣,但是會(huì)沿著Dom走直到值被找到或者走到頂級(jí)Dom元素。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI