//将childNodes返回的数据转化为数组的方法 function convertToArray(nodes){ var array=null; try{ array=Array.prototype.slice.call(nodes,0); }catch(ex){ array=new Array(); for(var i=0,len=nodes.length;i<len;i++){ array.push(nodes[i]); } } return array; } //筛选节点的方法 function getElementList(arr,value){ var arrList=new Array(); for(var i=0,len=arr.length;i<len;i++){ if(arr[i].nodeType==value){ arrList.push(arr[i]); } } return arrList; }
각 노드에는 NodeList 객체를 저장하는 childNodes 속성이 있습니다. NodeList는 위치별로 액세스할 수 있는 정렬된 노드 집합을 저장하는 데 사용되는 배열과 유사한 개체입니다. 그러나 대괄호를 통해 객체에 접근할 수 있고 NodeList에도 길이 속성이 있지만 Array의 인스턴스가 아니라는 사실에 모두 주의해야 합니다.
물론 대괄호를 사용하는 것처럼 item() 메서드를 통해 NodeList의 노드에 액세스할 수도 있습니다. 어느 쪽이든 문제가 없으며 개발자는 단순성 때문에 대괄호를 선호합니다.
여기서 저자는 여전히 NodeList를 배열로 변환하는 위의 방법을 권장하지만 Array.prototypr.slice.call(soneNode.childNodes,0) 메서드는 IE8 이하에서는 지원되지 않으므로 열거형만 사용할 수 있습니다. NodeList를 차원 배열로 변환하려면 다음 메서드를 사용하세요. try-catch는 오류를 포착하고 수동으로 배열을 생성합니다.
위 내용은 childNodes에서 반환된 데이터를 차원 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!