簡略化されたサンプル コード:
var $ = function(selector, node) { // Selector engine
var selector = selector.trim(), node = node || document.body;
if (selector != null) {
return Array.prototype.slice.call(node.querySelectorAll(selector), 0); }
}
}
私はこのようにそれを使用したい...:
$("div").innerHTML='It works!';
...このようではありません...:
$("div")[0].innerHTML='It works only on the specified index!';
...またはこれ:
for(i=0;i<$('div');i++) {
$("div")[i].innerHTML='It works great but it's ugly!';
}
これは私が得たのと同じくらい近いです。チェーンを機能させ、ネイティブメソッドと互換性を持たせたい:
if(!Array.prototype.innerHTML) {
Array.prototype.innerHTML = function(html) {
for (var i = 0; i < this.length; i++) {
this[i].innerHTML = html;
}
}
}
$("div").innerHTML('It works, but it ruins method chaining!');
JavaScript をよりよく学習するために、このエンジンを作成することにしました。うまくいっていますが、スタック オーバーフローの親切なメンバーからもっと学べることを願っています。どんな助けでも大歓迎です!