簡單的例子代碼:如何解析querySelectorAll選擇器引擎的結果並允許方法鏈接?
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:
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()'它們是如何實現它的源代碼,如jQuery,MooTools,Prototype,YUI。 –