一.屬性操做html
一、.attr()與.removeAttr()node
每一個元素都有一個或者多個特性,這些特性的用途就是給出相應元素或者其內容的附加信息。如:在img元素中,src就是元素的特性,用來標記圖片的地址。數組
操做特性的DOM方法主要有3個,getAttribute方法、 setAttribute方法和removeAttribute方法,就算如此在實際操做中仍是會存在不少問題,這裏先不說。而在jQuery中用一個 attr()與removeAttr()就能夠所有搞定了,包括兼容問題瀏覽器
jQuery中用attr()方法來獲取和設置元素屬性,attr是attribute(屬性)的縮寫,在jQuery DOM操做中會常常用到attr()app
attr()有4個表達式dom
removeAttr()刪除方法函數
.removeAttr( attributeName ) : 爲匹配的元素集合中的每一個元素中移除一個屬性(attribute)spa
優勢:翻譯
attr、removeAttr都是jQuery爲了屬性操做封裝的,直接在一個 jQuery 對象上調用該方法,很容易對屬性進行操做,也不須要去特地的理解瀏覽器的屬性名不一樣的問題設計
注意的問題:
dom中有個概念的區分:Attribute和Property翻譯出來都是「屬性」,《js高級程序設計》書中翻譯爲「特性」和「屬性」。簡單理解,Attribute就是dom節點自帶的屬性
例如:html中經常使用的id、class、title、align等:
<div id="immooc" title=""></div>
而Property是這個DOM元素做爲對象,其附加的內容,例如,tagName, nodeName, nodeType,, defaultChecked, 和 defaultSelected 使用.prop()方法進行取值或賦值等
獲取Attribute就須要用attr,獲取Property就須要用prop
二、html()及.text()
讀取、修改元素的html結構或者元素的文本內容是常見的DOM操做,jQuery針對這樣的處理提供了2個便捷的方法.html()與.text()
.html()方法
獲取集合中第一個匹配元素的HTML內容 或 設置每個匹配元素的html內容,具體有3種用法:
注意事項:
.htm()方法內部使用的是DOM的innerHTML屬性來處理的,因此在設置與獲取上須要注意的一個最重要的問題,這個操做是針對整個HTML內容(不只僅只是文本內容)
.text()方法
獲得匹配元素集合中每一個元素的文本內容結合,包括他們的後代,或設置匹配元素集合中每一個元素的文本內容爲指定的文本內容。,具體有3種用法:
注意事項:
.text()結果返回一個字符串,包含全部匹配元素的合併文本
.html與.text的異同:
三、.val()
jQuery中有一個.val()方法主要是用於處理表單元素的值,好比 input, select 和 textarea。
.val()方法
注意事項:
.html(),.text()和.val()的差別總結:
四、增長樣式.addClass()
經過動態改變類名(class),可讓其修改元素呈現出不一樣的效果。在HTML結構中裏,多個class以空格 分隔,當一個節點(或稱爲一個標籤)含有多個class時,DOM元素響應的className屬性獲取的不是class名稱的數組,而是一個含有空格的 字符串,這就使得多class操做變得很麻煩。一樣的jQuery開發者也考慮到這種狀況,增長了一個.addClass()方法,用於動態增長 class類名
.addClass( className )方法
注意事項:
.addClass()方法不會替換一個樣式類名。它只是簡單的添加一個樣式類名到元素上
簡單的描述下:在p元素增長一個newClass的樣式
<p class="orgClass"> $("p").addClass("newClass")
那麼p元素的class其實是 class="orgClass newClass"樣式只會在本來的類上繼續增長,經過空格分隔
五、刪除樣式.removeClass()
jQuery經過.addClass()方法能夠很便捷的增長樣式。若是須要樣式之間的切換,一樣jQuery提供了一個很方便的.removeClass(),它的做用是從匹配的元素中刪除所有或者指定的class
.removeClass( )方法
注意事項
若是一個樣式類名做爲一個參數,只有這樣式類會被從匹配的元素集合中刪除 。 若是沒有樣式名做爲參數,那麼全部的樣式類將被移除
六、切換樣式.toggleClass()
在作某些效果的時候,可能會針對同一節點的某一個樣式不斷的切換,也就是addClass與removeClass的互斥切換,好比隔行換色效果
jQuery提供一個toggleClass方法用於簡化這種互斥的邏輯,經過toggleClass方法動態添加刪除Class,一次執行至關於addClass,再次執行至關於removeClass
.toggleClass( )方法:在匹配的元素集合中的每一個元素上添加或刪除一個或多個樣式類,取決於這個樣式類是否存在或值切換屬性。即:若是存在(不存在)就刪除(添加)一個類
注意事項:
2、HTML操做
函數 | 描述 |
---|---|
$(selector).html(content) | 改變被選元素的(內部)HTML |
$(selector).append(content) | 向被選元素的(內部)HTML 追加內容 |
$(selector).prepend(content) | 向被選元素的(內部)HTML 「預置」(Prepend)內容 |
$(selector).after(content) | 在被選元素以後添加 HTML |
$(selector).before(content) | 在被選元素以前添加 HTML |
3、遍歷
jQuery 遍歷函數包括了用於篩選、查找和串聯元素的方法。
函數 | 描述 |
---|---|
.add() | 將元素添加到匹配元素的集合中。 |
.andSelf() | 把堆棧中以前的元素集添加到當前集合中。 |
.children() | 得到匹配元素集合中每一個元素的全部子元素。 |
.closest() | 從元素自己開始,逐級向上級元素匹配,並返回最早匹配的祖先元素。 |
.contents() | 得到匹配元素集合中每一個元素的子元素,包括文本和註釋節點。 |
.each() | 對 jQuery 對象進行迭代,爲每一個匹配元素執行函數。 |
.end() | 結束當前鏈中最近的一次篩選操做,並將匹配元素集合返回到前一次的狀態。 |
.eq() | 將匹配元素集合縮減爲位於指定索引的新元素。 |
.filter() | 將匹配元素集合縮減爲匹配選擇器或匹配函數返回值的新元素。 |
.find() | 得到當前匹配元素集合中每一個元素的後代,由選擇器進行篩選。 |
.first() | 將匹配元素集合縮減爲集合中的第一個元素。 |
.has() | 將匹配元素集合縮減爲包含特定元素的後代的集合。 |
.is() | 根據選擇器檢查當前匹配元素集合,若是存在至少一個匹配元素,則返回 true。 |
.last() | 將匹配元素集合縮減爲集合中的最後一個元素。 |
.map() | 把當前匹配集合中的每一個元素傳遞給函數,產生包含返回值的新 jQuery 對象。 |
.next() | 得到匹配元素集合中每一個元素緊鄰的同輩元素。 |
.nextAll() | 得到匹配元素集合中每一個元素以後的全部同輩元素,由選擇器進行篩選(可選)。 |
.nextUntil() | 得到每一個元素以後全部的同輩元素,直到遇到匹配選擇器的元素爲止。 |
.not() | 從匹配元素集合中刪除元素。 |
.offsetParent() | 得到用於定位的第一個父元素。 |
.parent() | 得到當前匹配元素集合中每一個元素的父元素,由選擇器篩選(可選)。 |
.parents() | 得到當前匹配元素集合中每一個元素的祖先元素,由選擇器篩選(可選)。 |
.parentsUntil() | 得到當前匹配元素集合中每一個元素的祖先元素,直到遇到匹配選擇器的元素爲止。 |
.prev() | 得到匹配元素集合中每一個元素緊鄰的前一個同輩元素,由選擇器篩選(可選)。 |
.prevAll() | 得到匹配元素集合中每一個元素以前的全部同輩元素,由選擇器進行篩選(可選)。 |
.prevUntil() | 得到每一個元素以前全部的同輩元素,直到遇到匹配選擇器的元素爲止。 |
.siblings() | 得到匹配元素集合中全部元素的同輩元素,由選擇器篩選(可選)。 |
.slice() | 將匹配元素集合縮減爲指定範圍的子集。 |