如何在不链接/jquery的情况下使用方法应用css属性数组
How to apply an array of css attributes with a method, without chaining/jquery
我目前正在运行以下代码,以应用一组css属性来模拟jquery(不允许我使用jquery),但循环只获取第一个节点:
HTMLElement.prototype.css = function(attr) {
for(i in attr){
return this.style[i] = attr[i];
}
}
button.css({
'width': '58px',
'height': '55px',
'font-family': 'century gothic',
'font-weight': 'bold',
'padding-left': '2px',
'padding-top': '0',
'outline': 'none'
});
我的循环出了什么问题?
由于return
语句,一旦执行第一个循环,函数就会退出。将return
移出循环:
HTMLElement.prototype.css = function(attr) {
for (i in attr) {
this.style[i] = attr[i];
}
return this; // return the original element to enable chaining
}
var button = document.getElementById('foo');
button.css({
'width': '58px',
'height': '55px',
'font-family': 'century gothic',
'font-weight': 'bold',
'padding-left': '2px',
'padding-top': '0',
'outline': 'none'
});
<button id="foo">Foo</button>
相关文章:
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 可以“;超级“;可以在子类的方法内部使用,在不直接引用的情况下调用相应的超类方法
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- 使用javascript:在没有阻止html标记(<b>、<p>等)的情况下,阻止脚本的最佳方法
- 如何在不更改URL的情况下使用HTTP方法POST
- 有没有一种方法可以在没有谷歌云控制台的情况下使用带有JavaScript的谷歌硬盘
- 在不使用@syntax的情况下修饰ES6类方法
- 谷歌应用程序脚本:如何在不使用getComment()方法的情况下将第二条注释添加到第一条注释中
- 不确定在我的情况下使用 ng-options 的最佳方法
- 使用 nodejs & expressjs:在不模板的情况下将 .env 传递给 html 的好方法是什么?
- 在这种特定情况下,如何在 HTML5 画布上重绘圆?(方法调用与直接使用上下文对象)
- 操作方法确保在不使用 WebFont 加载器的情况下加载@font面
- 如何在不使用 eval 的情况下使不存在的(非成员,非全局)方法可调用
- 在不使用 canvas.getActiveObject() 方法的情况下更改画布的文本
- 如何在不使用remove方法的情况下使用jquery删除span标记
- 在不使用原型的情况下定义方法
- 避免在没有使用
- 使用'var'当代码在没有使用的情况下工作时
- 如何在不使用的情况下重写primefaces组件内联样式!在css中很重要
- JS动画结束循环,希望在不使用的情况下连续循环;setInterval/setTimout