本文介紹了jQuery DOM節點的遍歷方法小結,分享給大家,也給自己留個筆記
children()方法
jQuery是一個合集對象,如果想快速查找合集里面的第一級子元素,此時可以用children()方法。這里需要注意:.children(selector) 方法是返回匹配元素集合中每個元素的所有子元素(僅兒子輩,這里可以理解為就是父親-兒子的關系)
節點查找關系
<div class="div"> <ul class="son"> <li class="grandson">1</li> </ul></div>
代碼如果是$("div").children(),那么意味著只能找到ul,因為div與ul是父子關系,li與div是祖輩關系,因此無法找到
children()無參數
允許通過在DOM樹中對這些元素的直接子元素進行搜索,并且構造一個新的匹配元素的jQuery對象
注意:jQuery是一個合集對象,所以通過children匹配合集中每一個元素的第一級子元素
.children()方法選擇性地接受同一類型選擇器表達式
$("div").children(".selected")同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式
find()方法
jQuery是一個合集對象,如果想快速查找DOM樹中的這些元素的后代元素,此時可以用find()方法,這也是開發使用頻率很高的方法。這里要注意 children與find方法的區別,children是父子關系查找,find是后代關系(包含父子關系)
節點查找關系
<div class="div"> <ul class="son"> <li class="grandson">1</li> </ul></div>
代碼如果是$("div").find("li"),此時,li與div是祖輩關系,通過find方法就可以快速的查找到
.find()方法要注意的知識點
find是遍歷當前元素集合中每個元素的后代。只要符合,不管是兒子輩,孫子輩都可以 與其他的樹遍歷方法不同,選擇器表達式對于 .find() 是必需的參數。如果我們需要實現對所有后代元素的取回,可以傳遞通配選擇器 '*' find只在后代中遍歷,不包括自己 選擇器 context 是由 .find() 方法實現的;因此,$('.item-ii').find('li') 等價于 $('li', '.item-ii')(找到類名為item-ii的標簽下的li標簽)注意重點
.find()和.children()方法是相似的
children只查找第一級的子節點 find查找范圍包括子節點的所有后代節點parent()方法
jQuery是一個合集對象,如果想快速查找合集里面的每一個元素的父元素(這里可以理解為就是父親-兒子的關系),此時可以用parent()方法;因為是父元素,這個方法只會向上查找一級
節點查找關系
<div class="div"> <ul class="son"> <li class="grandson">1</li> </ul></div>// 查找ul的父元素div, $(ul).parent()
新聞熱點
疑難解答
圖片精選