我正在尝试使用此代码使用javascript左右设置填充,但无法正常工作
document.getElementsByClassName('className').style.paddingLeft = paddingOfUl.toString()+"px" ;
得到这个错误
未捕获的TypeError:无法设置未定义的属性'paddingLeft'
请帮助建议我在这里做错了什么。
最佳答案
getElementsByClassName
返回元素列表,而不是一个元素。您需要索引列表以修改其中的元素。
只是第一个:
document.getElementsByClassName('className')[0].style.paddingLeft = paddingOfUl.toString()+"px" ;
// Change here -----------------------------^^^
他们全部:
var list = document.getElementsByClassName('className');
var i;
var padding = paddingOfUl.toString()+"px";
for (i = 0; i < list.length; ++i) {
list[i].style.paddingLeft = padding;
}
另外:无需在
toString
上显式调用paddingOfUl
,如果尝试将字符串附加到数字,它将自动完成。所以:...paddingLeft = paddingOfUl + "px";
...很好。
关于javascript - 使用核心Javascript向左和向右填充,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15875721/