jQuery each()没有'使用OOP方法是行不通的
jQuery each() doesn't work using OOP approach
这是我在javascript:中的情况
EA = {
DOMElement: $('#example img'),
photos: '',
...
countSelected: function(){
var len = 0;
var id = '';
EA.DOMElement.each(function(index){
id = $(this).attr('data-id');
EA.photos += id + ",";
});
len = EA.photos.length;
return len;
},
}
函数countSelected返回0,但如果我使用此解决方案,则一切正常:
countSelected: function(){
var len = 0;
var id = '';
$('#example img').each(function(index){
id = $(this).attr('data-id');
EA.photos += id + ",";
});
len = EA.photos.length;
return len;
},
在我看来,问题出在选择器上:$(this)。你知道什么解决办法吗?
谢谢!
问题是,您是何时初始化命名空间的?如果在DOM完全准备好之前这样做,和/或稍后在#example
元素下添加了图像,那么jQuery引用就过时了。
你有几个选择。一种是稍后对其进行初始化;另一个是每次都使用jQuery调用(就像在第二个代码片段中一样);另一个是在命名空间中创建一个函数,该函数将在需要时调用jQuery构造函数(这至少可以减少选择器重复)。
相关文章:
- jQuery each()没有'使用OOP方法是行不通的
- 如何在jQuery/Javascript中使用OOP来传递一个跨浏览器兼容的值
- Javascript:如何使用“;传统OOP”;
- 在JS中使用OOP的几种格式
- 使用 javascript 进行 OOP 编程:确保无论对象如何实例化,这都指向正确的事物
- 如何在浏览器中使用基于类的OOP JavaScript
- 编辑尝试使用 OOP 在 js 中创建库
- 尝试使用 ajax 将数据发送到 OOP 类
- 为什么要在JavaScript OOP中使用它
- 尝试使用 OOP 对象从 JavaScript 获取 ajax 响应
- 如何使用OOP使异步ajax请求在完成时返回值
- 使用JavaScript动态生成DOM元素的高效OOP方法
- Javascript事件addEventListener为同一函数多次注册;使用OOP Javascript
- 为什么在OOP javascript中使用object.prototype.constructor
- 我想停止在javascript中使用OOP,而是使用委派
- JS中的OOP,this.init.apply如何使用OOP
- 如何使用OOP来避免重复相同的代码
- 在firefox扩展中使用OOP
- JavaScript OOP:对象实例化和使用不同语法添加属性
- OOP使用来自闭包内部的新数据设置传入变量