简化的代码示例:
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!';
...or this:
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的友好成员那里学到更多。非常感谢任何帮助!
.html()
和.text()
源代码的。 - Jared Farrish