將DOM元素或者HTML字符串封裝成一個jquery對象。不接收像jquery那樣的使用選擇器查找元素。
//將HTML字符串作為參數
angular.element('<div id="test">整個DOM元素的內容</div>').html();
//將DOM元素作為參數,區別jquery的$('')返回的是一個對象
var a = document.getElementById('test'); alert(angular.element(a).html());
如果頁面引入了jquery類庫,angular.element()就被等同於jquery中的$(''),如果jquery對象不存在,angular.element可以調用Angular中嵌入的精簡版的jQuery library(名為: "jQuery lite" or "jqLite"),只能使用DOM元素或者HTML字符串作為參數。
在Angular應用中,所有元素的引用都是通過包裝在jquery或者jqLite(指令中的complie函數和link函數的參數elem都是調用的對象,而不是原生的DOM元素)
NOTE:angular.element不像jquery那樣通過標簽名或者選擇器名查找元素。想要按照標簽名查找元素,可以使用angular.element(document).find(...),或者使用$document.find(), 或者通過原生的JS查找元素的方法--document.getElementsByTagName()
Angular's jqLite支持的方法----用法可以參考jquery
addClass()--添加新樣式到class中
after()
append()--追加DOM元素到末尾
attr()--添加或獲取屬性---不支持用函數做為參數
bind()--綁定事件---不支持命名空間,選擇器,事件對象
children()--選擇子元素---不支持選擇器
clone()--克隆元素
contents()
css()--添加樣式屬性---只返回內聯樣式style="", 不調用getComputedStyle(), 設置樣式的時候,不能自動將數字轉化成字符串或追加'px', 也不能自動地添加屬性前綴。
data()--綁定或獲取數據
detach()--移除DOM元素
empty()
eq()
find()--只能獲取元素的標簽名
hasClass()
html()
next()---不支持選擇器
off()---不支持命名空間,選擇器,事件對象
one()---不支持命名空間,選擇器
parent()---不支持選擇器
prepend()
prop()
ready()
remove()
removeAttr()
removeClass()
removeData()
replaceWith()
text()
toggleClass()
triggerHandler()
unbind()
val()
wrap()