Une fonction qui obtient le nième nœud d'élément ne peut désormais obtenir des éléments que via la balise HTML, et sa fonction n'est pas parfaite.
Démo: html
<ul id = "list"> <li> 1 <fontificateur> a </futton> </li> <li> 2 <fontificateur> b </fitton> <fontifié> o </futton> </li> <p> Test </p> <li> 3 <fontificateur> C </li> </li> <li> 4 <fontin> d </futh> </li> <li> 5 </ Button> </ Button>
JS:
/ **** @param nœud parent parent * @param ele élément élément étiquette pour sélectionner * @param num quel élément est le premier * @return {*} * / fonction nth (parent, ele, num) {var _ele = array.prototype.slice.call (parent.childNodes), elearray = []; est un tableau qui stocke uniquement les nœuds d'élément pour (var i = 0, len = _ele.length; i <len; i ++) {if (_ele [i] .NodeType == 1) {elearray.push (_ele [i]); // Filter Out Nodèmes de non-éléments}} if (arguments.Legth === 2) { Si le deuxième paramètre est un nombre, sélectionnez le nombre d'éléments sous le nœud parent.//if Le deuxième paramètre est une chaîne, sélectionnez le nœud représenté par tous les paramètres sous le nœud parent if (typeof arguments [1] === "String") {_ ele = array.prototype.slice.call (Parent.getElelementsBytagname (arguments [1]); return _ele;} else if (typeof arguments [1] === "nombre") {return elearray [arguments [1]];}} else {// si les paramètres sont terminés, revenez au nœud et l'index commence à partir de 0_Ele = array.prototype.slice.call (parent.getElelementyTagname (ele)); _ele [num];}} / * test * / var list = document.getElementById ("list"); console.log (nth (list, "li", 2) .innerhtml); // sélectionnez le troisième élément LI console.log (nth (list, "bouton", 3) .innerHtml) // Sélectionnez le quatrième bouton console.log (nth (nth (list, "li", 1), "bouton", 1) .innerhtml); // sélectionnez le deuxième bouton console.log (nth (nth (list, "li", 1), "bouton")); // sélectionne tous les boutones console.log (nth (list, 2)); // sélectionner le deuxième élément.