我们知道获取元素的实际宽高在IE中可以使用currentStyle属性。但如果没有显示的去设置元素的宽高,那么使用该属性将获取不到,获取的值为auto。如下
<div>abcd</div>
<script>
var div = document.getElementsByTagName('div')[0];
alert(div.currentStyle.width);
alert(div.currentStyle.height);
</script>
IE6/7/8/9中输出的都是auto。如果显示的设置了宽高,那么输出的就是实际宽高。如下
1,通过内联style属性设置
<div style="width:100px;height:50px;">abcd</div>
<script>
var div = document.getElementsByTagName('div')[0];
alert(div.currentStyle.width);
alert(div.currentStyle.height);
</script>
2,通过页面嵌入style标签设置
<style>
div {
width: 100px;
height: 50px;
}
</style>
<div>abcd</div>
<script>
var div = document.getElementsByTagName('div')[0];
alert(div.currentStyle.width);
alert(div.currentStyle.height);
</script>
都将输出:100px,50px
分享到:
相关推荐
在Internet Explorer(IE)浏览器中,一个常见的问题是当元素没有显式设置`width`或`height`时,尝试使用`currentStyle`属性来获取元素尺寸可能会得到`auto`作为返回值,而不是实际的宽度和高度。这是因为`...
然而,当我们尝试获取一个CSS样式为display:none的元素的高度和宽度时,会发现常规的JavaScript方法无法直接获取这些尺寸值,因为display:none的元素没有物理尺寸。为了获得这些隐藏元素的尺寸信息,需要采用一些...
在IE9及以下版本中,我们可以使用`currentStyle`属性来获取元素的计算样式(即实际应用到元素的样式)。例如: ```javascript odiv.currentStyle.width ``` 然而,`currentStyle`是IE特有的,其他浏览器如Firefox...
`Style` 对象主要用来获取元素的内联样式,即元素标签中`style`属性的值。 **例子**: ```javascript // 内部样式 <style type="text/css"> #div { color: gray; } </style> // 内联样式 ;"></div> // 获取...
这些元素可能因为某些逻辑原因被设置为 `display: none`,这使得常规获取元素尺寸的方法(如 `.offsetWidth`, `.offsetHeight`, `getBoundingClientRect()` 等)无法正常工作,因为它们返回的值都是 0。 #### 二、...
在这个例子中,当页面加载完成后,`getStyle` 函数被调用来获取id为 `div1` 的元素的宽度,并弹出警告框显示结果。 总的来说,理解和掌握 `getComputedStyle` 和 `currentStyle` 是JavaScript中处理CSS样式的关键,...
2. **currentStyle对象**:IE8中,`currentStyle`对象的`Unset`属性现在返回其初始值,而不再是未定义,这对获取元素状态的代码有影响。 3. **style对象**:同样,`style`对象的`Unset`属性值在IE8中返回空字符串,...
但在IE6中,此属性无法正常工作,导致元素失去了预期的固定位置行为。为了解决这个问题,我们需要一种兼容IE6的方法来模拟`position: fixed;`的效果。 #### 解决方案 为了克服IE6中的这一限制,可以采用以下策略: ...
在IE浏览器中,可以使用`currentStyle`属性直接获取,而在Firefox等基于Gecko引擎的浏览器中,则使用`defaultView`对象结合`getComputedStyle`方法来获取元素的最终样式。这是因为不同浏览器对于DOM样式的处理方式...
在情景一中,当元素的`style`属性直接设置了`width`或`height`时,可以使用`el.style.width`或`el.style.height`来获取。但如果未在`style`属性中设置,这两个属性将返回空字符串。在这种情况下,应当利用`...
2. 如果元素有 `currentStyle` 属性(IE6 至 IE8),那么使用 `obj.currentStyle[attr]` 获取样式值。 3. 如果没有 `currentStyle`,则使用 `document.defaultView.getComputedStyle(obj, null)[attr]`,这是非 IE ...
例如,如果你想要获取一个名为`div`的元素的`width`,在IE中可以这样写: ```javascript var div = document.getElementById('div'); var width = div.currentStyle.width; ``` 而在Firefox及其他遵循W3C标准的...
- 当使用IE浏览器时,由于`select`元素默认具有较高的Z-index值,可能会遮挡浮动层。因此,创建一个`iframe`作为遮罩层来解决这一问题。 - 使用`getElementsByTagName`获取页面中的所有`iframe`,并检查其是否有`...
而对于外部样式表,通常需要使用`currentStyle`或`getComputedStyle`方法获取样式,但无法直接修改,需切换到内联样式进行修改。 接下来,我们讨论如何用JavaScript动态创建DOM元素。动态创建DOM元素是实现网页动态...
在JavaScript中,获取CSS样式的方法主要有两种:`element.style` 和 `window.getComputedStyle()` 或 `element.currentStyle`(仅IE浏览器)。这些方法可以帮助开发者在运行时动态地读取或修改页面元素的样式。 ...
要注意虽然ie的cloneNode参数是可选的(默认是false),但在ff是必须的,建议使用时都写上参数。 还要注意的是id属性也会被克隆,也就是克隆后会有两个相同id的元素(如果克隆对象有设置的话),这很容易会导致其他...