For loop 重写.each()循环至于要优化的循环,如何复制$(this.attr())
我在IE中运行时编写的jquery脚本遇到了一些性能问题,因此我正在尝试以任何可能的方式进行优化。显然,使用for循环要比使用jQuery快得多。这就引出了一个关于for循环中的For loop 重写.each()循环至于要优化的循环,如何复制$(this.attr()),for-loop,jquery,For Loop,Jquery,我在IE中运行时编写的jquery脚本遇到了一些性能问题,因此我正在尝试以任何可能的方式进行优化。显然,使用for循环要比使用jQuery快得多。这就引出了一个关于for循环中的$(This)等价物的问题。我将循环中的操作简化为只使用attr()函数,因为它解决了我的主要基本问题 我对每个人都这样做(简化) 我试着将其改写为for循环: var existing = $('#existing').find('div'); for(var i = 0;i < existing.length;
$(This)
等价物的问题。我将循环中的操作简化为只使用attr()
函数,因为它解决了我的主要基本问题
我对每个人都这样做(简化)
我试着将其改写为for循环:
var existing = $('#existing').find('div');
for(var i = 0;i < existing.length;i++)
{
console.log(existing[i].attr('id'));
}
var existing=$('#existing')。查找('div');
对于(var i=0;i
这是一个错误,说:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'attr'
uncaughttypeerror:对象#没有方法“attr”
要获取元素的id,只需执行以下操作
existing[i].id
请注意,jQuery循环也会更快
existing.each(function(){
console.log(this.id);
});
更一般地说,您不应该使用
attr('id')
,特别是当您关心性能时,因为DOM对象有一个属性id
,只需执行以下操作即可获取元素的id
existing[i].id
请注意,jQuery循环也会更快
existing.each(function(){
console.log(this.id);
});
更一般地说,您不应该使用attr('id')
,特别是当您关心性能时,因为DOM对象有一个属性id
,您需要existing.eq()
来获取jQuery
对象,existing[]
为您提供DOM
对象。函数attr()
应该用jQuery对象调用,但不能用DOM(javascript)对象调用
您需要existing.eq()
来获取jQuery
对象,existing[]
为您提供DOM
对象。函数attr()
应该用jQuery对象调用,但不能用DOM(javascript)对象调用
.在给出答案之前,我必须问您一个问题,为什么需要对单个元素执行循环,#existing不是Id,因此它是页面上唯一的元素。 你可以这么做
$('#existing').prop('id');
如果有多个元素,则应使用类或其他属性,如果是这样,则可以使用以下内容:
$.each('.existing',function(index,item){
console.log(item.prop('id'));
});
最好使用prop()而不是attr(),因为attr已被弃用。。在给出答案之前,我必须问您一个问题,为什么您需要在单个元素上执行循环,#existing不是Id,因此它是页面上唯一的元素。 你可以这么做
$('#existing').prop('id');
如果有多个元素,则应使用类或其他属性,如果是这样,则可以使用以下内容:
$.each('.existing',function(index,item){
console.log(item.prop('id'));
});
最好使用prop()而不是attr(),因为attr已被弃用请注意,existing只能有一个元素,因为选择器$(“#existing”)使用ID(而不是类)。这个脚本只会回应“现有的”…实际上它将包含一堆东西,我只是把它简化了一点,以便理解我的基本观点。更正。是的,现在它对
。find('div')
:)有意义。请注意,existing只能有一个元素,因为选择器$('#existing')使用ID(而不是类)。这个脚本只会回应“现有的”…实际上它将包含一堆东西,我只是把它简化了一点,以便理解我的基本观点。更正。是的,现在有了。find('div')
:)这正是我需要的。实际上,我需要使用比attr like.data()更多的方法,这已经修复了我的错误。谢谢,这正是我需要的。实际上,我需要使用比attr like.data()更多的方法,这已经修复了我的错误。