用js获取元素的宽度问题

对于动态生成的菜单列表,我对li的宽度设置了auto,之后用js去获取,总是获取到0,如何可以获取到被撑开后的li的宽度?(已经试过把脚本放在文档加载之后执行)

原本是要解决这样一个问题,如下图,动态生成的二级菜单文字太多超出了预设的宽度,会产生换行,如果设置宽度是自适应,我得获取到二级菜单ul的总宽,判断是否超出长度,求如何解决?

http://img.mukewang.com/56e96e9a00013a9013660768.jpg

慕娘5227020
浏览 3258回答 6
6回答

ruibin

大概是因为你获取的方式不对。通过js中的style集合获取的属性只能是行内元素的属性。你想要获取这种定义在样式表里的属性可以通过getComputedStyle(myDiv)['width'].

syf1

获取元素宽度用:offsetWidth  获取元素高度用:offsetHeight

ruibin

大概是因为你获取的方式不对。通过js中的style集合获取的属性只能是行内元素的属性。你想要获取这种定义在样式表里的属性可以通过getComputedStyle(myDiv)['width'].
打开App,查看更多内容
随时随地看视频慕课网APP