機能上のニーズのために、複数のタグ名ノードのコレクションを取得するための小さなメソッドを作成しました。 jQuery の $('iput,select,textarea','#form') の効果と同様に、ノードは元のドキュメント ストリーム内の順序で返されます。
// 指定されたノード配列を取得しますタグタイプ 使用例: GetTagNames ('input,select,textarea',document.getElementById('form'))
function GetTagNames(tagnames,parEl){
// 親ノードが定義されておらず、デフォルトのループdocument
var parEl=parEl || document;
//指定された親要素の子ノードを取得します
var all=parEl.getElementsByTagName('*');
//修飾された子をすべて格納しますnodes
var nodes=[];
//転送されたタグ名を通常の判定に変換
var reg=eval('/' tagnames.split(',').join('|') ' /i');
/ / ループ、判定、保存
for(var ii=0;ii
if(reg.test(all[ii].nodeName) ){
nodes.push( all[ii]);
}
}
//Return
return ノード;
}