Stack上有一些类似的问题,但我认为我的问题是我的一些语法错误的结果。无论如何,我正在用 javascript 构建一个灯箱,并希望将绝对位置 ( left %
css) 动态设置为元素宽度的一半。
这是代码中的一个片段。完整代码在这里http://jsfiddle.net/Yab3Q/4/
var modal = document.getElementById(btnId+"-modal");
var modalChildren = modal.childNodes;
for (var x = 0; x<modalChildren.length; x++){
if (!(modalChildren[x].className === "lightBox")){
var childWidth = modalChildren[x].offsetWidth;
var halfWidth = childWidth / 2;
modalChildren[x].style.left = halfWidth + "px";
}
}
该行modalChildren[x].css.left = halfWidth + "px";
返回“未捕获的类型错误:无法设置未定义的属性‘左’”。但是,modalChildren[x].className
两者modalChildren[x].offsetWidth;
都返回预期值,所以我不确定为什么我可以在这里查看但不能更新 css。