標籤:過濾器 運算式 filter 字串 元素
each() 方法規定為每個匹配元素規定啟動並執行函數。
過濾:
下標過濾:
eq(index) //擷取第index個元素
類過濾:
hasClass(class) //檢查當前元素是否含有某個特定的類,如果有,返回true
例如:$("div").hasClass("div1") //含有div1類的div元素
運算式過濾:
filter(expr) //篩選出與指定運算式expr匹配的元素集合,用逗號分隔多個運算式
filter(fn) //篩選出與指定函數fn傳回值匹配的元素集合
例如:$("div").filter(".red")這裡的運算式是指:選取器運算式
has(expr) //參數expr是一個jQuery選取器運算式字串
也可以是一個元素或者一組元素
例如:$("p").has(span.red) 選擇擁有子項目span,並且子項目類為red的p元素
判斷:運算式判斷的方法不直接過濾元素,
僅作為一個偵查工具判斷當前jQuery對象是否包含滿足條件的元素
is(expr)
例如:$("div").is(.red) //判斷是否有含有類red的div元素,如果有返回true
映射:將jQuery中的每個對象映射到一個數組
map(callback)
callback:給每個元素執行的函數
清洗:從jQuery對象中刪除合格元素,並返回這個清洗後的jQuery
not(expr)
截取:截取當前jQuery對象中的部分元素,並將部分元素裝在一個jQuery對象中返回。
slice(start,[end])
start表示開始選擇子集的位置,第一個元素是0,
如果該參數為負數,則表示從集合的尾部開始選起。
end如果不指定,則表示到集合的結尾
注意:被截取元素不包含end指定的位置
尋找:
向下尋找後代元素:
DOM提供了三種方法:
使用childNodes屬性
使用firstChild和lastChild屬性
使用getElementById()和getElementsByTagName()方法
jQuery訪問後代元素:
children()方法:尋找當前元素的所有或部分子項目
文法:children([expr])
contents()方法:返回所有的子項目,還可以擷取文本節點、注釋節點
文法:contents();該方法沒有參數
find()方法:尋找所有的後代元素
文法:find(expr)
例子:$("body").find("p") //返回body下所有的p元素
向上尋找祖先元素:
DOM提供了parentNode屬性來訪問父元素。
jQuery訪問父元素:
parents()方法:返回被選元素的所有祖先元素,直到根項目<html>
文法:parent([expr]):expr運算式過濾查詢到的祖先元素
parent()方法:返回被選元素的直接父元素。
parentsUntil()方法:尋找指定範圍內的父元素。
例子:$("span").parentsUntil("ul")//返回的父元素到ul標籤為止。
offsetParent()方法:返回被選元素的第一個定位父元素。
closest()方法:尋找指定的父元素
文法:closest(expr,[context])
向上尋找兄弟元素:
DOM提供了previousSibling屬性
jQuery訪問向上的兄弟節點:
prev()方法:返回上一個相鄰的元素(不包括文本節點)
文法:prev([expr])
prevAll()方法:返回當前元素以上的所有同輩元素
文法:prevAll([expr])
prevUntil()方法:返回當前元素到selector(不包含selector選擇的元素)的所有同輩元素
文法:prevUntil([selector])
向下尋找兄弟元素:
DOM提供nextSibling屬性
jQuery訪問向下的兄弟節點:
next()方法:匹配下一個相鄰的節點,不包括文本節點
文法:next([expr])
nextAll()方法
nextUntil()方法
尋找兄弟元素:
jQuery方法:
siblings()方法:尋找所以的兄弟元素。
添加尋找對象:
add()方法:向尋找結果中添加新的尋找內容。
文法:add(expr,[context])
樣本:$("div").css("border","solid 5px #000")
.add("p")
.css("background","#990044")
串聯:
addSelf()方法:將堆棧中的元素加入到尋找結果的中
樣本:
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
查詢代碼:
$("li.third-item").nextAll().andSelf()
.css("background-color", "red");
該代碼會設定3,4,5項的背景顏色。
解釋:初始的選取器會定位項目 3,初始化的堆棧存有僅包含該項目的集合。
調用 .nextAll() 會將項目 4, 5 的集合推入堆棧。
最後,調用 .andSelf() 會合并這兩個集合。
所建立的 jQuery 對象指向按照文檔順序的所有三個項目:
{[<li.third-item>,<li>,<li> ]}。
end()方法:結束當前鏈條中的最近的篩選操作,並將匹配元素集還原為之前的狀態