为什么this关键字在每个语句中都不起作用?

时间:2014-08-03 17:34:29

标签: jquery

换句话说,为什么这样做,再次引用video标记:

$("video").each(function(index, value) { 
    console.log($('video')[index].currentTime); 
});

但是这个例子在使用this关键字时会引发错误吗?

$("video").each(function(index, value) { 
    console.log($(this)[index].currentTime); 
});

撰写此声明的更好方法是什么?

2 个答案:

答案 0 :(得分:1)

由于代码中的$(this)会返回长度为1的集合,因此只有第一次迭代才会在您的代码中生效,因为index0

无需创建jQuery集合,您可以使用this关键字对元素进行引用。只需使用this.currentTime

答案 1 :(得分:0)

this已经引用了您想要的元素。如果currentTime是对象的属性,那么这将起作用。您可以使用valuethis来引用该对象。

  

The callback is fired in the context of the current DOM element

$("video").each(function(index, value) { 
    console.log(this.currentTime); 
});