詳解angular element()方法使用
使用angular.element()獲取一個(gè)dom的方法。
1.可以使用jquery的選擇器
2.可以使用javascript的原生查找元素的方法
下面是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è)元素上每種事件類(lèi)型最多執(zhí)行一次 //ready()-當(dāng)DOM準(zhǔn)備就緒時(shí),指定一個(gè)函數(shù)來(lái)執(zhí)行 //removeData()-在元素上移除綁定的數(shù)據(jù) //triggerHandler() -為一個(gè)事件執(zhí)行附加到元素的所有處理程序 //unbind() - 從元素上刪除一個(gè)以前附加事件處理程序 //addClass()-為每個(gè)匹配的元素添加指定的樣式類(lèi)名 angular.element(document.querySelectorAll(".test")).addClass("asd"); //after()-在匹配元素集合中的每個(gè)元素后面插入?yún)?shù)所指定的內(nèi)容,作為其兄弟節(jié)點(diǎn) angular.element(document.querySelector(".test")).after("<p>我是通過(guò)after()添加進(jìn)來(lái)的</p>"); //append()-在每個(gè)匹配元素里面的末尾處插入?yún)?shù)內(nèi)容 angular.element(document.querySelector(".test")).append("<p>我是通過(guò)append()添加進(jìn)來(lái)的</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() - 通過(guò)一個(gè)選擇器,jQuery對(duì)象,或元素過(guò)濾,得到當(dāng)前匹配的元素集合中每個(gè)元素的后代 console.log(angular.element(document.querySelector(".test3")).find("span")[0].innerHTML); //hasClass()-確定任何一個(gè)匹配元素是否有被分配給定的(樣式)類(lèi) 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è)選擇器,那么只有緊跟著的兄弟元素滿(mǎn)足選擇器時(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>我是通過(guò)prepend()添加進(jìn)來(lái)的</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è)樣式類(lèi),取決于這個(gè)樣式類(lèi)是否存在或值切換屬性。即:如果存在(不存在)就刪除(添加)一個(gè)類(lèi) 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ì)象,銷(xiāo)毀api和事件。這個(gè)事件能在Dom被移除前用來(lái)清除任何Dom上的相關(guān)。
方法:
controller(name):檢索當(dāng)前元素或其父元素的controller,默認(rèn)情況下,檢索與ngController相關(guān)的controller,如果name是以駝峰模式命名的指令名稱(chēng),那么這個(gè)指令的controller就是這樣(如'ngModel') 。
injector():檢索當(dāng)前元素或其父元素的依賴(lài)注入。
scope():檢索當(dāng)前元素或其父元素的scope。
isolateScope():如果有一個(gè)scope直接附著在當(dāng)前元素,檢索一個(gè)隔離的scope,這僅用于元素包含一個(gè)創(chuàng)建了新的隔離的scope的指令,這個(gè)元素調(diào)用scope()總是返回原來(lái)的非隔離scope。
inheritedData():和data()一樣,但是會(huì)沿著Dom走直到值被找到或者走到頂級(jí)Dom元素。(由此可見(jiàn),應(yīng)該是向上傳播的意思。)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Material(包括Material Icon)在Angular2中的使用詳解
這篇文章主要介紹了Material(包括Material Icon)在Angular2中的使用,需要的朋友可以參考下2018-02-02Angular基于Constructor?Parameter的依賴(lài)注入方式詳解
這篇文章主要為大家介紹了Angular基于Constructor?Parameter的依賴(lài)注入方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11詳解AngularJS ui-sref的簡(jiǎn)單使用
本篇文章主要介紹了詳解AngularJS ui-sref的簡(jiǎn)單使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04angularJs中datatable實(shí)現(xiàn)代碼
本篇文章主要介紹了angularJs中datatable實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06Angular4.x通過(guò)路由守衛(wèi)進(jìn)行路由重定向?qū)崿F(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁(yè)面(推薦)
這篇文章主要介紹了Angular4.x通過(guò)路由守衛(wèi)進(jìn)行路由重定向,實(shí)現(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁(yè)面,這個(gè)功能在網(wǎng)上商城項(xiàng)目上經(jīng)常會(huì)用到,下面小編給大家?guī)?lái)了解決方法一起看看吧2018-05-05