//创建一个回调函数寻找所有元素节点 function queryNode(node) { //查询所有子节点并且放到nodeList这个数组中 var nodeList = node.childNodes; //定义一个数组,用来存放符合要求的元素节点 var arrNode = []; //遍历nodeList这个数组,寻找符合要求的元素节点 for (var i = 0; i < nodeList.length; i++) { var node = nodeList[i]; //nodeType == 1;元素节点 //nodeType == 2;属性节点 //nodeType == 3;文本节点 if(node.nodeType == 1){ arrNode.push(node); //继续进行递归寻找下一级的节点 var temp = queryNode(node); //把两个数组进行合并,就是所有符合要求的节点 arrNode = arrNode.concat(temp); } } return arrNode; }