0

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

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

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

我会欣赏你的观点。

4

2 回答 2

1

在插件范围内,

this.first()

或者

this.eq(0)

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

于 2013-05-20T20:57:21.073 回答
1

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

如果您想对结果对象执行 jquery 操作,请选择选项 2 如果您想要纯 javascript dom 对象,请选择选项 1。

于 2013-05-20T20:57:35.480 回答