jQuery 擁有可操作 HTML 元素和屬性的強大方法弊仪。
jQuery 中非常重要的部分,就是操作 DOM 的能力。
jQuery 提供一系列與 DOM 相關的方法裕照,這使訪問和操作元素和屬性變得很容易。
(一)獲得內(nèi)容 - text()调塌、html() 以及 val()
三個簡單實用的用于 DOM 操作的 jQuery 方法:
text() - 設置或返回所選元素的文本內(nèi)容
html() - 設置或返回所選元素的內(nèi)容(包括 HTML 標記)
val() - 設置或返回表單字段的值
例子:(以下是text和html的區(qū)別)
Text: 這是段落中的 粗體 文本晋南。
HTML: 這是段落中的 <b>粗體</b> 文本。
(二)獲取屬性 - attr()
jQuery attr() 方法用于獲取屬性值羔砾。
(三)根據(jù)返回的值設置屬性
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("RUNOOB");
});
回調(diào)函數(shù)
上面的三個 jQuery 方法:text()负间、html() 以及 val(),同樣擁有回調(diào)函數(shù)姜凄≌#回調(diào)函數(shù)有兩個參數(shù):被選元素列表中當前元素的下標,以及原始(舊的)值态秧。然后以函數(shù)新值返回您希望使用的字符串董虱。
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "舊文本: " + origText + " 新文本: Hello world! (index: " + i + ")";
});
});
(四)添加元素
我們將學習用于添加新內(nèi)容的四個 jQuery 方法:
append() - 在被選元素的結(jié)尾插入內(nèi)容
prepend() - 在被選元素的開頭插入內(nèi)容
after() - 在被選元素之后插入內(nèi)容
before() - 在被選元素之前插入內(nèi)容
在下面的例子中,我們創(chuàng)建若干新元素。這些元素可以通過 text/HTML愤诱、jQuery 或者 JavaScript/DOM 來創(chuàng)建云头。然后我們通過 after() 方法把這些新元素插到文本中(對 before() 同樣有效)
幾種創(chuàng)建元素的方式
function afterText()
{
var txt1="<b>I </b>"; // 使用 HTML 創(chuàng)建元素
var txt2=$("<i></i>").text("love "); // 使用 jQuery 創(chuàng)建元素
var txt3=document.createElement("big"); // 使用 DOM 創(chuàng)建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3); // 在圖片后添加文本
}
(五)刪除元素
刪除元素/內(nèi)容
如需刪除元素和內(nèi)容,一般可使用以下兩個 jQuery 方法:
remove() - 刪除被選元素(及其子元素)
empty() - 從被選元素中刪除子元素
(六)CSS類-獲取并設置CSS類
jQuery 擁有若干進行 CSS 操作的方法淫半。我們將學習下面這些:
addClass() - 向被選元素添加一個或多個類
removeClass() - 從被選元素刪除一個或多個類
toggleClass() - 對被選元素進行添加/刪除類的切換操作
css() - 設置或返回樣式屬性
可以根據(jù)返回的樣式設置屬性溃槐,設置多個屬性
(七)尺寸
width() 方法設置或返回元素的寬度(不包括內(nèi)邊距、邊框或外邊距)科吭。
height() 方法設置或返回元素的高度(不包括內(nèi)邊距竿痰、邊框或外邊距)。
jQuery innerWidth() 和 innerHeight() 方法
innerWidth() 方法返回元素的寬度(包括內(nèi)邊距)砌溺。
innerHeight() 方法返回元素的高度(包括內(nèi)邊距)
jQuery outerWidth() 和 outerHeight() 方法
outerWidth() 方法返回元素的寬度(包括內(nèi)邊距和邊框)影涉。
outerHeight() 方法返回元素的高度(包括內(nèi)邊距和邊框)。
(八)遍歷
jQuery 遍歷规伐,意為"移動"蟹倾,用于根據(jù)其相對于其他元素的關系來"查找"(或選取)HTML 元素猖闪。以某項選擇開始鲜棠,并沿著這個選擇移動,直到抵達您期望的元素為止培慌。
下圖展示了一個家族樹豁陆。通過 jQuery 遍歷,您能夠從被選(當前的)元素開始吵护,輕松地在家族樹中向上移動(祖先)盒音,向下移動(子孫),水平移動(同胞)馅而。這種移動被稱為對 DOM 進行遍歷祥诽。
這些 jQuery 方法很有用,它們用于向上遍歷 DOM 樹:
parent() 直接父元素
parents() 所以得祖先元素
parentsUntil()
<span> 與 <div> 元素之間的所有祖先元素:
$(document).ready(function(){
$("span").parentsUntil("div");
});
后代
下面是兩個用于向下遍歷 DOM 樹的 jQuery 方法:
children()
find()
在 DOM 樹中水平遍歷
有許多有用的方法讓我們在 DOM 樹進行水平遍歷:
siblings()
next()
nextAll()
nextUntil()
prev()
prevAll()
prevUntil()
prev(), prevAll() 以及 prevUntil() 方法的工作方式與上面的方法類似瓮恭,只不過方向相反而已:它們返回的是前面的同胞元素(在 DOM 樹中沿著同胞之前元素遍歷雄坪,而不是之后元素遍歷)。
過濾
三個常用的方法屯蹦,
first()返回元素的首個元素
last()返回元素的最后一個元素
eq()返回元素的维哈,多個元素數(shù)組,通過索引號來定位