-
这两个代码片段是否执行相同的操作? 如果是,什么时候应该使用一个而不是另一个?(除了当你需要做一些涉及
i
或value
的事情时)$("foo").each(function(i,value) { $(this).empty(); });
与。
$("foo").empty();
-
通常可以假设
$("foo").someMethod()
表示"在与选择器匹配的每个元素上运行somemethod()
,除非方法的名称each
?(即每个都是特例)
假设你指的是股票jQuery函数,是的,两个代码片段是相同的。
当您想要使用索引或防止长函数链接时,应使用 each()
函数。
你对$('foo').someMethod()
的理解也适用于jQuery方法。但请注意,某些插件可能会以不同的方式处理选择器,或者仅影响第一个匹配的元素。
是的,大多数jQuery函数都是这样设计的。
看代码示例:
$.fn.someMethod = function() {
return this.each(function() {
do_something(this);
});
};
因此,即使您可以再次使用.each
,也应该只使用:
$(selector).someMethod();
不
$(selector).each(function() {
$(this).someMethod();
});