Javascript 获取不带jquery的元素的宽度
不管怎样,我还是用传统的方法数数元素 我在一个主div中有几个div。现在,顶部div有一个设置的宽度,但它的内部宽度因其内容而异。如果我没弄错的话,我需要内部宽度。不管是什么情况,在这种情况下,它需要导致宽度为600 我使用的不是jquery,而是jqui,所以我希望只在javascript中使用它,因为jqui没有内部/外部宽度函数。这意味着我有一个$selector可以使用Javascript 获取不带jquery的元素的宽度,javascript,Javascript,不管怎样,我还是用传统的方法数数元素 我在一个主div中有几个div。现在,顶部div有一个设置的宽度,但它的内部宽度因其内容而异。如果我没弄错的话,我需要内部宽度。不管是什么情况,在这种情况下,它需要导致宽度为600 我使用的不是jquery,而是jqui,所以我希望只在javascript中使用它,因为jqui没有内部/外部宽度函数。这意味着我有一个$selector可以使用 <style> .holder { width:100%; /* which in this
<style>
.holder {
width:100%; /* which in this case is 320px */
overflow-x: auto;
overflow-y:hidden;
}
.menu_item {
width:200px;
float:left;
}
</style>
<div class="holder" onscroll="get_width(this)">
<div class="menu_item">
item1
</div>
<div class="menu_item">
item2
</div>
<div class="menu_item">
item3
</div>
</div>
get_width(that) {
alert(that.innerWidth); // returns undefined
alert(that.width); // returns undefined
}
.持有人{
宽度:100%;/*在本例中为320px*/
溢出-x:自动;
溢出y:隐藏;
}
.菜单项{
宽度:200px;
浮动:左;
}
项目1
项目2
项目3
得到(那个)宽度{
alert(that.innerWidth);//返回未定义的
alert(that.width);//返回未定义的
}
我相信您需要的是分别使用clientWidth和clientHeight获得宽度和高度
element.clientWidth
更新:
即使在旧的ie6中也支持clientWidth
查看以下所有平台支持:
查看这篇精彩的文章,了解有关不同宽度相关属性的更深入信息:
注意:
此属性将值舍入为整数。如果你需要
分数值,使用element.getBoundingClientRect()
返回320的可能重复,即页面宽度。我需要内部宽度等一下,我会检查并给你小提琴的链接,它会返回一个完整的对象。我需要哪一个?等一下,我会检查一下,然后给你小提琴链接我觉得我有点傻。我已经用我的CSS更新了你的小提琴,但它在JSFIDLE中不起作用(出于某种原因正在进行某种包装)。不过,它在phonegap ios和phonegap android(所有手机上都可以使用)以及所有浏览器中都可以使用。但您的示例仍然返回屏幕宽度,而不是我需要的内部宽度。返回320,这是页面宽度。我需要内部宽度谢谢,它返回元素的确切宽度