我已经能够通过以下代码取得一定成功,使用JavaScript设置多个属性来定位id属性:
function setAttributes(el, attrs) {
for(var key in attrs) {
el.setAttribute(key, attrs[key]);
}
}
setAttributes(svgShape,{'d':complexShape,'fill':'#f04'});
但是,是否可以使用该代码或类似代码来定位类属性,而不是id属性?
答案 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]);
}
});
}