n番目の要素ノードを取得する関数は、HTMLタグを介してのみ要素を取得できるようになり、その機能は完全ではありません。
デモ:HTML
<ul id = "list"> <li> 1 <butth> a </button> </li> <li> 2 <butth> b </button> <butth> o </button> </button> </li> <p>テスト</p> <li> 3 <butth> c </button> </li> <li> 4 <ボタン> d </button> </li>
JS:
/**** @param parent node*@param ele element label to Selece*@param num num numは最初の*@return {*}*/function nth(parent、ele、num){var _ele = array.prototype.slice.call(parent.childnodes)、elearray = []; (var i = 0、len = _ele.length; i <len; i ++){if(_ele [i] .nodetype == 1){elearray.push(_ele [i]); // cassuments nonerement nodes}} if(_ele [i]); filter.lened ====== 2ペスト2のみを除く(_ele [i] .nodetype == 1)forのみを保存する配列2番目のパラメーターが数字の場合、親ノードの下の要素の数を選択します。///2番目のパラメーターは文字列です、親ノードの下のすべてのパラメーターで表されるノードを選択します(typeof arguments [1] === "string"){_ ele = array.prototype.slice.call(parentelementionbytagrage(arguments [1])); return _ele;} else if(typeof arguments [1] === "number"){return eleArray [arguments [1]];}} else {//パラメーターが完了した場合、ノードに戻り、indexは0_ELE = array.prototype.slice.call(parentelementsbytagname(ele); _ELE [num];}}/*test*/var list = document.getElementbyId( "list"); console.log(nth(list、 "li"、2).innerhtml); // 3番目のli要素console.log(nth(list、 "button"、3).innerhtml)// 4つのボタンを選択するconsole.log(nth(nth(list、 "li"、1)、 "button"、1).innerhtml); // 2番目のボタンconsole.log(nth(list、 "li"、1)、 ");