querySelectorAll in library
querySelectorAll in library
我有这个代码:
(function (window, document, undefined) {
var g = function (sel) {
return {
selector: document.querySelector(sel),
on: function (evt, fn) {
if (this.selector) this.selector.addEventListener(evt, fn, false);
return this;
}
};
};
window.g = window._ = g;
})(this, document);
如何在此上下文中使用querySelectorAll
而不是querySelector
,以便选择多个元素。特别是考虑到将有多种方法,如on
。如何循环遍历所有元素并将它们返回到它调用的方法。
selector: document.querySelectorAll(sel),
on: function (evt, fn) {
if (this.selector) {
for (var i=0, len=this.selector.length; i < len; i++)
this.selector[i].addEventListener(evt, fn, false);
return this;
}
如果您必须在许多方法中重复使用该循环,只需创建一个包装器,类似于
selector: document.querySelectorAll(sel),
forEach: function (codeToApply) {
for (var i=0, len=this.selector.length; i < len; i++)
codeToApply.call(this, this.selector[i]);
},
on: function (evt, fn) {
if (this.selector) {
this.forEach(function (element) {
element.addEventListener(evt, fn, false);
}
return this;
}
相关文章:
- Node.js's Buffer.writeFloatBE in Javascript
- Setting default onclick behavior for <img> tag in gene
- Lucene Search in Alfresco
- grep in JQuery to C#
- GWT (or javascript) library for couchDB
- write HTML in JavaScript
- jQuery setTimeOut: in for-loop
- SetTimeout and clearTimeout in Javascript
- lightbox in html 5 and javascript
- Javascript Audio Library
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- HTMLInputElement in IE7
- Mongodb$in以与数组中相同的顺序获取结果
- element.dataset in Internet Explorer
- jQuery parent() in table
- Instagram oauth flow in angularjs
- querySelectorAll in library
- onmouseenter / onmouseleave In a JavaScript Library
- d3-tip library in Typescript
- Javascript library in gwt