javascript - 使用核心 Javascript 进行左右填充

标签 javascript jquery

我正在尝试使用这段代码使用 javascript 设置左右填充,但它不起作用

document.getElementsByClassName('className').style.paddingLeft = paddingOfUl.toString()+"px" ;

出现此错误

未捕获类型错误:无法设置未定义的属性“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;
}

另外:无需在 paddingOfUl 上显式调用 toString,如果您尝试将字符串附加到数字,它会自动完成。所以:

...paddingLeft = paddingOfUl + "px";

...很好。

关于javascript - 使用核心 Javascript 进行左右填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15875721/

相关文章:

javascript - 根据选中的复选框数量生成动态 li 元素

对于 IE9,输入文件上的 jquery .trigger() 失败

jquery - 声音加载后,JQUERY更改属性

无法从 onchange 识别 JavaScript 函数

javascript - jquery 中面板的 Accordion 调整高度

javascript - jQuery/Javascript 插件最佳实践

javascript - 滚动时移动的按钮在单击时过早消失

jquery如何克隆引导行

javascript - 从nodejs中的promise返回数据

javascript - KnockoutJS foreach 列表 - 在项目更改时发布到服务器,最佳实践