为什么有些jquery操作可以处理选择器结果中的所有元素而其他元素只能处理匹配中的第一个元素?
例如$(".selector").click
函数将事件分配给选择器结果中的所有元素,但$('.selector]').offset().top
仅返回结果集中第一个元素的值。
我如何知道每项操作的行为?
答案 0 :(得分:0)
一些jquery函数可以接受多个dom元素,而其他函数只能使用单个元素。 $(".selector")
是一个对象,当你为它调用一些函数时,来自对象的所有元素或只有第一个元素将被传递给函数。
offset()
功能说明:
获取第一个元素的当前坐标 ,或设置 在匹配元素集合中,相对于每个元素的坐标 到文件。
因此,如果你在没有参数的情况下调用offset()
,它将返回第一个元素的位置; offset({ top: y, left: x })
将为jquery对象的所有元素设置相同的top
和left
属性。
要查看函数的工作原理,请阅读其文档。