0

为什么某些 jquery 操作适用于选择器结果中的所有元素,而其他操作仅适用于匹配中的第一个元素?

例如$(".selector").click,函数将事件分配给选择器结果中的所有元素,但$('.selector]').offset().top仅返回结果集中第一个元素的值。

我如何知道每个操作的行为是什么?

4

1 回答 1

0

一些 jquery 函数可以接受多个 dom 元素,而其他函数只能使用单个元素。$(".selector")是一个对象,当您为其调用某个函数时,该对象中的所有元素或只有第一个元素将传递给该函数。

offset()功能说明:

获取第一个元素的当前坐标,或设置匹配元素集中每个元素相对于文档的坐标。

因此,如果您offset()不带参数调用,它将返回第一个元素的位置;offset({ top: y, left: x })将为 jquery 对象的所有元素设置相同的topleft属性。

要了解函数的工作原理,请阅读其文档。

于 2013-01-21T19:25:55.717 回答