詳解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è)元素上每種事件類型最多執(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元素。(由此可見,應(yīng)該是向上傳播的意思。)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Material(包括Material Icon)在Angular2中的使用詳解
這篇文章主要介紹了Material(包括Material Icon)在Angular2中的使用,需要的朋友可以參考下2018-02-02
Angular基于Constructor?Parameter的依賴注入方式詳解
這篇文章主要為大家介紹了Angular基于Constructor?Parameter的依賴注入方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
詳解AngularJS ui-sref的簡(jiǎn)單使用
本篇文章主要介紹了詳解AngularJS ui-sref的簡(jiǎn)單使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
angularJs中datatable實(shí)現(xiàn)代碼
本篇文章主要介紹了angularJs中datatable實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
Angular4.x通過路由守衛(wèi)進(jìn)行路由重定向?qū)崿F(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁面(推薦)
這篇文章主要介紹了Angular4.x通過路由守衛(wèi)進(jìn)行路由重定向,實(shí)現(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁面,這個(gè)功能在網(wǎng)上商城項(xiàng)目上經(jīng)常會(huì)用到,下面小編給大家?guī)砹私鉀Q方法一起看看吧2018-05-05

