给this.children[i]宽度赋值遇到问题
来源:4-4 轮播图组件实现(上)

OceanFloor
2019-09-25
老师您好,我在给给this.children[i]宽度赋值的时候遇到一些问题。
您的方法是
for (let i = 0; i < this.children.length; i++){
// console.log(this.children[i])
this.children[i].style.width = sliderWidth + "px"
}
而我自己在实现的时候用的方法是
for (let key in this.children) {
// console.log(this.children[key])
this.children[key].style.width = sliderWidth + "px";
}
但是我的方法后台却提示slider.vue?eaef:59 Uncaught TypeError: Cannot set property 'width' of undefined
,而用您的方法却没有问题,然而我后台分别将他们打印console.log(this.children[i])
和console.log(this.children[key])
,却发现他们是同样的东西?为什么我的方法就错了呢?
还有另外一个问题,如果我不做子元素宽度赋值,我直接css控制width: 100%
这样可以吗?谢谢
写回答
1回答
-
ustbhuangyi
2019-09-26
第一个建议加个 debugger 做断点调试,有些时候 console.log 是不靠谱的,特别是 log 引用类型的时候。
css 控制貌似不行,做宽度设置的目的是为了让子容器的宽度超过父容器的宽度,这样就能横向滚动。00
相似问题