在jquery中只获取一个对象的最佳方法

时间:2013-05-20 20:53:22

标签: jquery performance

我正在jquery中构建一个插件。正如他们在文档中所说,这引用了一个jquery对象。所以你可以做一个.each()然后返回你在​​插件构造函数中获得的对象。 但是,此插件返回标量值,因此我只能对第一个对象执行操作。

如果我想从jquery可能的对象数组中获取第一个元素,您认为最好的方法是什么?

$.fn.totalWidth = function(element){
    $this = $(this.get(0)); //option 1
    //OR
    $this = this.first(); //option 2
});

我很感激你的观点。

2 个答案:

答案 0 :(得分:1)

在插件范围内,

this.first()

this.eq(0)

是获取第一个元素的最佳方式,因为this引用了插件中的jQuery对象,并且不必再次包装。使用.get()来获取本机元素只是为了重新包装它似乎是不必要的。

答案 1 :(得分:1)

$ this = $(this.get(0));将检索与查询匹配的dom元素,其中first()将获取jquery对象。

如果您想对结果对象执行jquery操作,请转到选项2 如果你想要纯粹的javascript dom对象去选项1。