jQuery $.扩展到纯JavaScript
Converting jQuery $.extend to pure JavaScript
我正试图摆脱jQuery,因为我只需要它做很少的事情,而是使用纯JavaScript
我有这样的原始代码:
this.bar = el.find('.bar');
this.options = $.extend({
delay: $.toInt(el.data('delay')) || 2000
}, options);
我试着用这个来转换它:
function foo(el, options) {
..................
this.bar = el.querySelectorAll(".bar");
this.options = extend({
delay: parseInt(el.data('delay')) || 2000 < -- - problem
}, options);
}
function extend(first, second) {
for (var secondProp in second) {
var secondVal = second[secondProp];
if (secondVal && Object.prototype.toString.call(secondVal) === "[object Object]") {
first[secondProp] = first[secondProp] || {};
extend(first[secondProp], secondVal);
} else {
first[secondProp] = secondVal;
}
}
return first;
};
但是我收到这个错误:
"Uncaught TypeError: el. "数据不是函数"
谁对如何修复有任何想法?
el
是DOM对象引用,它不是jQuery对象,所以你不能在它上面调用jQuery方法。
要在VanillaJS中获取data-*
属性值,您可以使用dataset。
el.dataset.delay
如果希望使用jQuery方法,可以在jQuery
中包装元素引用。$(el).data('delay')
相关文章:
- 如何在Ionic Android中将Javascript注入到web视图中
- 将插件制作的Javascript包含到html按钮中
- 将带有多维数组的表单从Javascript提交到PHP
- 如何在提交后将变量从javascript传递到php
- 将照片从javascript发送到php
- javascript变量到php数组
- Javascript:如何将数组元素扩展到所有其他元素并创建一个数组
- 如何使用 JavaScript 将选择扩展到单词边界,仅一次
- Chrome扩展程序将外部JavaScript添加到当前页面的html中
- 将 onclick 函数扩展到 javascript 类
- JavaScript:是否不可能将单个“三元”操作扩展到多个层
- 是否可以将Razor文件中的Model扩展到一个单独的Javascript文件中
- 将javascript函数扩展到动态加载的文件中
- jQuery $.扩展到纯JavaScript
- Javascript模块模式:如何将方法/插件注入/创建/扩展到我们自己的库中
- 如何用Javascript扩展formdata并将其发送到控制器
- 将HTML扩展到多行javascript中
- 如何传递一个保存的Javascript变量在Chrome扩展到谷歌应用引擎应用程序
- 谷歌Chrome扩展:传递javascript变量到iframe src
- 单击图片缩略图并使用javascript扩展到中心