变量没什么问题的,你看看,这个s有没有值,是不是加载js时,还没到body那儿,也就计算不出客户端的宽度。以下是具体实现代码:
具体公式是:
var s = document.body.clientWidth
document.getElementById("body1").innerHTML=s
document.getElementById("body1").style.width="200px"
这个问题我自然想到过,所有时时都把S 是值显示出来了,S是有效的数字型的变量。
并没有getElementByClassName()这个函数,只有getElementsByClassName(),Element后面有个s,这个返回来是多个节点的集合(因为class名有可能匹配到多个),假设只有1个元素用这个class名,那么要改变宽度可以:
var a=document.getElementsByClassName("a")a[0].style.width="500px"
望采纳,谢谢
(1)dom.style.width/height 获取dom元素内联样式中设定的width,height
(2)dom.currentStyle.width/height 获取dom元素渲染后的width,height,只支持IE
(3)window.getComputedStyle(dom).width/height 浏览器渲染后的元素宽,兼容性更好
(4)dom.getBoundingClientRect().width/height/left/top/right/ 计算一个元素的绝对位置(相对于视窗左上角),它能拿到元素的left、top、right、bottom、width、height
Element.getBoundingClientRect() - Web API 接口参考 | MDN