如果在JS或CSS中没有指定属性,我如何找到JS样式属性的值?
How do I find the value of a JS style property if that property hasn't been specified anywhere in JS or CSS?
如何找到JS样式属性的值,如果该属性在JS或CSS中没有指定任何地方? JS 。没有JQuery或其他库。
当我说属性没有被指定时,我的意思是在我的代码中没有任何地方显式地给它一个值。例如,假设我有一个div标签里面有一些文本:
<div id="item" style="float:left;">This is just random text.</div>
这个div的宽度当然会大于0像素,因为里面有文本,但它会小于整行的宽度,因为它是向左浮动的。div的宽度足以容纳里面的所有文本,但我无法确定的宽度是什么,因为我从未指定过它。例如,尝试以下代码:
alert(document.getElementById("item").style.width);
…将返回一个空字符串,因为没有指定宽度。是否有一种方法,虽然页面已经加载和元素已经呈现,检索计算/演示/实际宽度的div与JS?
我不妨让你知道,顺便说一下,我正试图把几个这样的容器,在上面的例子中随机文本,间隔和居中在同一行。我认为它们必须是div ,因为我需要操纵margin属性来分隔它们(这不能用span 来完成)。为了强制div 放到同一行,必须对它们进行浮动。但是问题就变成了浮动元素对center标签或CSStext-align属性没有响应。因此,唯一剩下的方法来居中的容器是给他们的容器(超级容器)一个宽度和设置其CSSmargin属性为auto。但是我不知道如何设置超级容器的宽度,因为内部容器内的文本会有所不同。因此,我认为最好的做法是计算出每个内部容器的宽度是多少,然后将所有宽度加起来,得到超级容器的宽度。但是,如果你发现这种思路中的缺陷,或者一种更简单的方法,请随时指出来。欢迎提出建议。谢谢。
获取div宽度所需要的是divID.clientWidth
,如下所示:
alert("Div Width: " + divID.clientWidth);
这是一个演示。
希望这对你有帮助
相关文章:
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- chart.js 2.0为数据集添加了新属性
- 无法读取属性'材料'未定义的Three.js
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 如何正确引用传递到淘汰中的当前元素的属性.JS
- 手动触发ember.js中的属性更改
- 无权访问我的控制器 Angular 中的属性.js 1.3
- 如何在培根中合并两个属性.js
- 如何从高图表动态更新 pointStart 系列属性.js
- 如何为补间分配额外的属性.js ( https://github.com/sole/tween.js/ )
- Ember 对象函数定义中的计算属性.js
- 动态插入文件时触发 onload 属性.js
- 创建新属性 - JS / 边缘动画
- 在 Backbone 中将函数设置为属性.js给了我一个错误,但如果我在初始化方法中设置它,它会起作用
- 在处理中不将“PImage”作为类属性.js
- 动态访问对象属性(JS)
- 迭代javascript对象并动态添加对象属性(JS对象中的键值对)
- IIS6无法获取类型属性;JS替换危险字符