javascript - 一次将一个函数应用于多个元素

标签 javascript function arguments

当我将相同的功能应用于多个元素时,我通常会执行以下操作:

var func = function(elem) {
  elem.style.color = 'red';
};

var p = document.querySelector('p');
var div = document.querySelector('div');

func(p);
func(div);

我想知道是否有一种简单的方法可以同时将此函数应用于两个(或更多)元素?例如:

func(p, div); // Apply my function to both elements at once

最佳答案

您可以使用参数:

var func = function() {
    var args = [].slice.apply(arguments);

    args.forEach(function (elem) {
        elem.style.color = 'red';
    });
};

随心所欲地调用它:

func(p, div);

附带说明一下,ECMAScript 6 中计划了一个名为“rest parameter”的功能,它可以实现您的想法,请查看 here .

关于javascript - 一次将一个函数应用于多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26356484/

相关文章:

Javascript 函数仅在有警报时才有效

php - MySQL:在带有@rownum 的php 函数中左联接?

Javascript 变量作用域。如何从内部对象函数访问对象变量?

javascript - 这是一个有 2 个条件的条件语句,我需要添加第 3 个

javascript - 在其他方法中访问在一个方法中创建的变量

c - 奇怪的超出范围的变量

java - 方法(String str)和方法(Final String str)有什么区别

c - 如何将参数绑定(bind)到 C 函数指针?

javascript - 如何仅更改链接内的文本

javascript - 将内插零插入javascript中的日期数组