So konvertieren Sie die von childNodes zurückgegebenen Daten in ein dimensionales Array

一个新手
Freigeben: 2023-03-16 14:44:02
Original
1407 Leute haben es durchsucht


//将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;
            }
Nach dem Login kopieren

Jeder Knoten verfügt über ein childNodes-Attribut, das das NodeList-Objekt enthält. NodeList ist ein Array-ähnliches Objekt, das zum Speichern einer geordneten Menge von Knoten verwendet wird, auf die nach Position zugegriffen werden kann. Allerdings muss jeder darauf achten, dass wir zwar über eckige Klammern auf das Objekt zugreifen können und NodeList auch über das Längenattribut verfügt, es jedoch keine Instanz von Array ist.

Natürlich können wir auch über die Methode item() auf die Knoten in der NodeList zugreifen, genau wie bei der Verwendung von eckigen Klammern. An beidem ist nichts auszusetzen, und eckige Klammern werden von Entwicklern aufgrund ihrer Einfachheit bevorzugt.

Hier empfiehlt der Autor weiterhin die obige Methode zum Konvertieren von NodeList in ein Array, da die Methode Array.prototypr.slice.call(soneNode.childNodes,0); jedoch in IE8 und darunter nicht unterstützt wird NodeList kann nur durch Aufzählung in ein dimensionales Array umgewandelt werden. try-catch fängt den Fehler ab und erstellt das Array manuell.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie die von childNodes zurückgegebenen Daten in ein dimensionales Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage