DOM中的遍歷爲深度優先遍歷(上左右),node
DOM中提供遍歷的方法有兩種函數
NodeIterator對象
TreeWalkerio
這兩種方法都是對元素進行遍歷function
NodeIterator遍歷
建立一個NodeIterator的方法爲方法
document.createNodeIterator(node,whattowalk,filter,null)filter
第一個參數爲開始遍歷的根節點document
第二個參數爲對什麼節點進行遍歷,主要的值有三個return
NodeFilter.SHOW_ALL 遍歷全部節點
NodeFilter.SHOW_ELEMENT 只遍歷元素
NodeFilter.SHOW_TEXT 只遍歷文本節點
第三個參數爲跳過或者接收某些節點,filter能夠有兩種方式,一個包括acceptNode方法的對象,或者是一個相似於acceptNode方法的函數
不管是對象中的方法仍是函數,都會返回NodeFilter.FILTER_ACCEPT (接收這個節點)或者NodeFilter.FILTER_SKIP(拒絕這個節點)
第一種方式:
var filter={
acceptNode:function(node)
{
if(node.nodeValue.toLowerCase=="p")
{
return NodeFilter.FILTER_ACCEPT;
{
else
{
NodeFilter.FILTER_SKIP
}
}