简化示例代码:
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;它正在工作,但我希望我能从 Stack Overflow 的好心成员那里学到更多东西。任何帮助将非常感激!