素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

getElementsBy〜のような関数の作り方

ハマった。
結論から行くと

HTMLElement.prototype.$T=function(tagName){
return this.getElementsByTagName(tagName);
};

document.$T=function(tagName){
return document.documentElement.$T(tagName);
}

document.$T('*');
document.body.$T('a');

見たいな感じにすればいい。

document.$T('*')をやったとき、
documentはHTMLElementではないから、
HTMLElement.prototype.$Tは呼ばれない。
代わりにdocument.$Tを定義する必要がある。

んで、document全体のHTMLElementオブジェクトはdocumentElementだから、documentElementに対して$Tを呼べばいい。