在JavaScript中使用类属性设置多个HTML属性

时间:2016-05-23 00:06:45

标签: javascript html

我已经能够通过以下代码取得一定成功,使用JavaScript设置多个属性来定位id属性:

function setAttributes(el, attrs) {
  for(var key in attrs) {
    el.setAttribute(key, attrs[key]);
  }
}
setAttributes(svgShape,{'d':complexShape,'fill':'#f04'});

但是,是否可以使用该代码或类似代码来定位类属性,而不是id属性?

1 个答案:

答案 0 :(得分:1)

如果按类名获取元素,它们将作为HTML元素集合出现,因此必须将类元素转换为数组,然后遍历它们或使用带有foreach的Array调用:

转换为数组

function setAttributes(el, attrs) {
  var elements = [].slice.call(el);
  elements.forEach(function(element){
    for(var key in attrs) {
      element.setAttribute(key, attrs[key]);
  });
  }
}

原型调用

function setAttributes(el, attrs) {
  [].forEach.call(el,function(element){
    for(var key in attrs) {
      element.setAttribute(key, attrs[key]);
    }
  });
}