是各社区讨论的公共问题 <
我没有得到这样一个简单循环的返回:
function className(cls){
var divs = document.getElementsByClassName(cls);
for(var i=0; i<divs.length; i++) {
a = divs[i]
}
return a;
}
//example use
className('source').style.display='block';
使用原生javascript非常重要
答案 0 :(得分:2)
你可以全力以赴地扩展HTMLcollection原型:
function className(cls){
return document.getElementsByClassName(cls);//a HTMLCollection
}
//extend the HTMLCollection prototype
HTMLCollection.prototype.style = function(newStyles) {
for (var i = 0; i < this.length; i++) {
for (var key in newStyles) {
if (newStyles.hasOwnProperty(key)) {
this[i].style[key] = newStyles[key];
}
}
}
return this;
};
//example use
className('source').style({display:'block', color:'red'});
不一定是我建议的,但here's the demo
答案 1 :(得分:1)
不知道这是否是您要找的,但是如果您尝试更改元素的css属性:
function changeClassName(name, attr, value) {
var divs = document.getElementsByClassName('source');
for(var x = 0; x < divs.length; x++){
divs[x].style[attr] = value;
}
};
changeClassName('source','display','block');
//or
changeClassName('source','display','block');