首先,我們來看看jquery中如何查找到想要的結點。
第一步:sizzle選擇器
基于元素的id、類、類型、屬性、屬性值等"查找"(或選擇)HTML元素,簡單的說是基于css選擇器,除此之外還有一些特定的選擇器。
第二步:查詢祖先
parent()
返回被選元素的直接父元素,該方法只會向上一級對 DOM 樹進行遍歷
parents()
可以使用可選參數來過濾對父元素的搜索
返回被選元素的所有祖先元素,它一路向上直到文檔的根元素
parentsUntil()
返回介于兩個給定元素之間的所有祖先元素,下面是例子:
$(document).ready(function(){ //會返回span開始到div為止的祖先元素 $("span").parentsUntil("div"); });第三步:查詢子孫
children()
可以使用可選參數來過濾對子元素的搜索
返回被選元素的所有直接子元素,該方法只會向下一級對 DOM 樹進行遍歷
find()
可以使用可選參數來過濾對元素的搜索
返回被選元素的后代元素,一路向下直到最后一個后代
第四步:查詢同胞
siblings()
返回被選元素的所有同胞元素
next()
返回被選元素的下一個同胞元素
nextAll()
返回被選元素的之后的全部同胞元素
nextUntil()
返回介于兩個給定參數之間的所有跟隨的同胞元素
$(document).ready(function(){ //返回介于 <h2>與<h6>元素之間的所有同胞元素 $("h2").nextUntil("h6"); });prev()、prevAll() 和 prevUntil()
prev()、prevAll()以及prevUntil()方法的工作方式與上面的方法類似,只不過方向相反而已:它們返回的是前面的同胞元素(在 DOM 樹中沿著同胞之前元素遍歷,而不是之后元素遍歷)。
第五步:查詢時添加過濾
first()
返回選擇的元素中的首個元素
last()
返回選擇的元素中的最后一個元素
eq()
返回被選元素中帶有指定索引號的元素,這個很容易理解,舉例就是:$(element[flag])和element.eq(flag)結果一樣
filter()
對查詢結果進行過濾,和下面not()類似,作用相反
not()
返回不匹配標準的所有元素
$(document).ready(function(){ //返回不帶有類名"target"的所有p元素 $("p").not(".target"); });元素找到以后,接著我們需要根據需求來對查找到的結點進行操作。
第六步:text()、html()、val()以及attr()
text()、html()、val()以及attr(),擁有回調函數。回調函數有兩個參數:被選元素列表中當前元素的下標,以及原始(舊的)值。然后以函數新值返回您希望使用的字符串
新聞熱點
疑難解答
圖片精選