Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当使用JQuery以多个类为目标时,`each()`是否为必填项?最佳做法_Javascript_Jquery - Fatal编程技术网

Javascript 当使用JQuery以多个类为目标时,`each()`是否为必填项?最佳做法

Javascript 当使用JQuery以多个类为目标时,`each()`是否为必填项?最佳做法,javascript,jquery,Javascript,Jquery,当使用JQuery以多个类为目标时,each()是否是必需的 通过一个实际的例子,这个$('.myClass').html('Hello')和这个$('.myClass')。每个(function(){$(this.html('Hello');};乍一看都有相同的结果。我倾向于认为使用each()以多个类为目标是最佳实践,但我错了吗?案例1:$('.myClass').html('Hello'); 如果您想在每个myClass元素上应用相同的函数,那么案例1是合适的。这也是一个很好的实践 如果您

当使用JQuery以多个类为目标时,
each()
是否是必需的

通过一个实际的例子,这个
$('.myClass').html('Hello')和这个
$('.myClass')。每个(function(){$(this.html('Hello');};
乍一看都有相同的结果。我倾向于认为使用
each()
以多个类为目标是最佳实践,但我错了吗?

案例1:
$('.myClass').html('Hello');

如果您想在每个myClass元素上应用相同的函数,那么案例1是合适的。这也是一个很好的实践

如果您想迭代地使用DOM对象,那么应该使用.each方法。 案例2:

案例1:
$('.myClass').html('Hello');

如果您想在每个myClass元素上应用相同的函数,那么案例1是合适的。这也是一个很好的实践

如果您想迭代地使用DOM对象,那么应该使用.each方法。 案例2:


使用jQuery,一个基本的设计目标是尽可能多地隐式地进行迭代

$(".some-class").addClass("another-class");
这是您所需要的一切。在内部,它有效地为您提供了
.each()
。这是一个意见问题,但明确使用
.each()
进行类似操作是愚蠢的

在其他情况下,这完全取决于您在做什么。显然,
。当您对jQuery对象中的每个元素有大量或“有趣”的工作要做时,就会调用each()
。有些API允许传递函数并执行隐式迭代,基本上类似于
。each()
;但是,其他人没有


因此,这取决于具体情况。请注意,另一种可能性是创建自己的jQuery方法,根据自己的规范在内部执行迭代。

使用jQuery,一个基本设计目标是尽可能多地隐式进行迭代。因此,如果要使用另一个类向所有元素添加一个类

$(".some-class").addClass("another-class");
这是您所需要的一切。在内部,它有效地为您提供了
.each()
。这是一个意见问题,但明确使用
.each()
进行类似操作是愚蠢的

在其他情况下,这完全取决于您在做什么。显然,
。当您对jQuery对象中的每个元素有大量或“有趣”的工作要做时,就会调用each()
。有些API允许传递函数并执行隐式迭代,基本上类似于
。each()
;但是,其他人没有


因此,这取决于具体情况。请注意,另一种可能是创建自己的jQuery方法,根据自己的规范在内部执行迭代。

基本规则是,如果要按固定值更改所有内容,请使用简短的表示法

如果您需要动态更改,该更改将因元素而异和/或取决于受影响元素的索引或某些属性,则必须将每个
与函数一起使用


然后,您可以通过向传递的函数声明一个参数来获取索引,该参数将获取循环中该元素的索引值,或者使用变量
this
在函数内部寻址元素本身,或者(例如,如果您传递的是一个arrow函数,其中
this
不起作用)通过声明两个参数,第二个参数将引用元素。

基本规则是,如果要按固定值更改所有参数,请使用简短的表示法

如果您需要动态更改,该更改将因元素而异和/或取决于受影响元素的索引或某些属性,则必须将每个与函数一起使用


然后,您可以通过向传递的函数声明一个参数来获取索引,该参数将获取循环中该元素的索引值,或者使用变量
this
在函数内部寻址元素本身,或者(例如,如果您传递的是一个arrow函数,其中
this
不起作用)通过声明两个参数,第二个参数将引用元素。

有时是必要的,有时是不必要的。这取决于您正在做什么以及特定API允许什么。没有单一的“最佳实践”。谢谢你的及时回答,你想把它作为答案添加,这样我就可以关闭它了吗?我一直在寻找一个副本,但我永远找不到,所以我会把它作为一个答案。我以前找过一个副本,只有我能想到像这样的东西,有时是必要的,有时是不必要的。这取决于你在做什么和参与什么没有单一的“最佳实践”。谢谢你的及时回答,你想把它作为答案添加,这样我就可以关闭它吗?我一直在寻找一个副本,但我永远也找不到,所以是的,我会把它作为一个答案。我以前找过一个副本,只有我能想到像KappaThanks这样的东西,所以没有真正的最佳实践,就像@Pointy所说的,这在很大程度上取决于情况是真的。如果你想应用同样的东西,那么第一个是好的,如果你想用作迭代,那么第二个是好的。@Hiral你的例子可以写为:$(“.myClass”).toggleClass('blue');谢谢,所以没有真正的最佳实践,就像@Pointy说的,很大程度上取决于情况是的。如果你想应用同样的东西,那么第一个是好的,如果你想作为迭代使用,那么第二个是好的。@Hiral你的特定示例可以写成:$(“.myClass”).toggleClass('blue');