Uma função que obtém o nó do enésimo elemento agora pode obter apenas elementos através da tag HTML, e sua função não é perfeita.
Demo: html
<ul id = "List"> <li> 1 <but uma <butão> </li> <li> 2 <but uma button> </button> <butter> o </botão> </li> <p> teste </p> <li> 3 </button> c </button> </li> <li> 4 <butão> d
JS:
/**** @param nó pai pai*@param ele elemento rótulo para selecionar*@param num Qual elemento é o primeiro*@return {*}*/function nth (pai, ele, num) {var _ele = array.prototype.slice.call (parent.childnodes), eLayray = []; Somente armazena nós do elemento para (var i = 0, len = _ele.length; i <len; i ++) {if (_ele [i] .nodeType == 1) {eLearray.push (_ele [i]); // filtra os nós não-elementos}} se (argumentos.Length === 2); Selecione o número de elementos no nó pai. return _ele;} else if (typeof argumentos [1] === "número") {return eLearray [argumentos [1]];}} else {// se os parâmetros estiverem concluídos, retorne ao nó e o índice iniciar de 0_Ele = Array.prototype.slice.call (parent.eTeLemementsbyAgNaMe (ele); list = document.getElementById ("list"); console.log (nth (list, "li", 2) .innerhtml); // Selecione o terceiro elemento Li Console.log (nth (list, "Button", 3) .innerHtml) // Selecione o quarto botão Console.log (Nth (Nth (List, "Li", 1), "Button", 1) .innerHtml); // Selecione o segundo botão Console.log (Nth (Nth (List, "Li", 1), "Button");