国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript 讀取內聯之外的樣式(style、currentStyle、getComputedStyle區別介紹)

2019-11-21 00:31:23
字體:
來源:轉載
供稿:網友

樣式表有三種方式
內嵌樣式(inline Style) :是寫在Tag里面的,內嵌樣式只對所有的Tag有效。
內部樣式(internal Style Sheet):是寫在HTML的<head></head>里面的,內部樣式只對所在的網頁有效。
外部樣式表(External Style Sheet):如果很多網頁需要用到同樣的樣式(Styles),將樣式(Styles)寫在一個以.css為后綴的CSS文件里,然后在每個需要用到這些樣式(Styles)的網頁里引用這個CSS文件。

下面的是讀取除了內嵌樣式之外樣式的js,只能讀不能寫。

復制代碼 代碼如下:

var mydiv = document.getElementById('mydiv');
if(mydiv.currentStyle) {
var width = mydiv.currentStyle['width'];
alert('ie:' + width);
} else if(window.getComputedStyle) {
var width = window.getComputedStyle(mydiv , null)['width']
alert('firefox:' + width);
}
另外在FF下還可以通過下面的方式獲取
document.defaultView.getComputedStyle(mydiv,null).width
window.getComputedStyle(mydiv , null).width


[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]


最常用的是style屬性,在JavaScript中,通過document.getElementById(id).style.XXX就可以獲取到XXX的值,但意外的是,這樣做只能取到通過內嵌方式設置的樣式值,即style屬性里面設置的值。

解決方案:引入currentStyle,runtimeStyle,getComputedStyle
style 標準的樣式!可能是由style屬性指定的!
runtimeStyle 運行時的樣式!如果與style的屬性重疊,將覆蓋style的屬性!
currentStyle 指 style 和 runtimeStyle 的結合!
通過currentStyle就可以獲取到通過內聯或外部引用的CSS樣式的值了(僅限IE)
如:document.getElementById("test").currentStyle.top
要兼容FF,就得需要getComputedStyle 出馬了
注意:getComputedStyle是firefox中的,
currentStyle是ie中的.
比如說
復制代碼 代碼如下:

<style>
#mydiv {
width : 300px;
}
</style>

則:
復制代碼 代碼如下:

var mydiv = document.getElementById('mydiv');
if(mydiv.currentStyle) {
var width = mydiv.currentStyle['width'];
alert('ie:' + width);
} else if(window.getComputedStyle) {
var width = window.getComputedStyle(mydiv , null)['width'];
alert('firefox:' + width);
}

另外在FF下還可以通過下面的方式獲取
復制代碼 代碼如下:

document.defaultView.getComputedStyle(mydiv,null).width
window.getComputedStyle(mydiv , null).width

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白朗县| 特克斯县| 东阿县| 肥东县| 丽江市| 莆田市| 德兴市| 宁陕县| 拉萨市| 安阳县| 宜昌市| 高台县| 井陉县| 南昌市| 綦江县| 弋阳县| 盈江县| 浠水县| 渑池县| 宜君县| 明溪县| 通山县| 富平县| 宁夏| 兴山县| 岫岩| 扬中市| 鹤峰县| 金湖县| 西平县| 东安县| 左权县| 克山县| 广宗县| 吉林市| 盐边县| 芷江| 盐池县| 巴林左旗| 甘洛县| 乾安县|