一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

關于使用runtimeStyle屬性問題討論文章

當我們在IE中使用IE提供的DOM時,我們會發現關于style的相關屬性有三個分組,它們分別是style、runtimeStyle和currentStyle。關于這個三種style的作用和基本用途,我曾經在這篇文章中有講過,但隨著越來越深入的使用,總算對怎么使用runtimeStyle屬性有了一些自己的心得。

    首先,runtimeStyle屬性不是必需的,它的存在甚至遠沒有currentStyle有意義,因為由于IE布局、呈現原理限制,style屬性里的定義,總有一些是無法和currentStyle同步的。什么意思呢?比如我們不設定TR元素的line-height或table-layout樣式屬性,我們是無法得到任意高度的表格行的,即使你費勁寫上100個style="height: 1px",也是沒有任何效果的。這時style的height雖然是1px,而currentStyle的height仍然是表格實際的高度。firefox不提供runtimeStyle和currentStyle,不知道它怎么解決這個不同步的問題?是不是會反向同步不能表現的style屬性呢?

    所以,runtimeStyle屬性說白了就是用來錦上添花的,那么有沒有只有使用runtimeStyle才能完成的功能或效果呢?要說有那也是自找的,比如本blog的Invert頁面顏色功能,這個還真的是只有使用runtimeStyle屬性才能做出來。除此之外,由于對runtimeStyle屬性的設置不用同步到style,也不會同步,所以使用runtimeStyle修改元素的樣式應該有更高的效率。不過這個不同步同時帶來一個比較隱蔽的問題,如果我們總是操作dom,使用runtimeStyle和currentStyle是沒有問題的,可是如果我們在實現中又穿插使用DHTML特性,比如讀寫innerHTML或讀取outerHTML屬性。這時不同步style的問題就出來了,不小心遇上回郁悶個半死的,因為程序不會有任何的運行錯誤,就是不管怎么弄都沒有預期的效果。

    總結一:runtimeStyle屬性一定要配對使用,即element.runtimeStyle.xxx = 'attribue';和element.runtimeStyle.xxx = '';配對。如果可以明確的寫出element.style.xxx = 'attribue1';和element.style.xxx = 'attribue2';,那么就沒有什么必要使用runtimeStyle了。在同一個元素中混用style和runtimeStyle應該是一定要禁止的,由于style和runtimeStyle覆蓋優先級不同,如果混用稍有不慎就會出一些莫名奇妙的問題,徒增debug的困擾和難度。

    總結二:runtimeStyle屬性不要在有innerHTML和outerHTML操作的編程環境中使用,否則不小心就會郁悶個半死。因為runtimeStyle的修改不會同步會html中的style里去,這個問題就會類似上面提到的同一元素中混用style和runtimeStyle的問題。

    當然混用在首次實現的時候使用,程序員心里面其實是很清楚地,一般不會出什么大差錯,可是這樣的代碼會給后期的debug以及update埋下很嚴重的錯誤隱患。

JavaScript技術關于使用runtimeStyle屬性問題討論文章,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 婷婷的五月 | 理论片日韩 | 一区二区三区视频 | 久久大香香蕉国产免费网站 | 99精品热线在线观看免费视频 | 亚洲福利在线视频 | 成人福利在线视频 | 亚洲国产精品一区二区三区久久 | 操吊视频| 欧美日韩国产在线观看一区二区三区 | 国产亚洲欧洲国产综合一区 | 色婷婷免费视频 | 香蕉视频国产精品 | 牛牛本精品99久久精品88m | 激情五月社区 | 精品国偷自产在线 | 在线一区观看 | 毛片一| www国产精品com| 午夜久久久精品 | 国内久久久久久久久久 | 91视频高清| 色综合色狠狠天天综合色 | 99午夜高清在线视频在观看 | 欧美成人伊人十综合色 | 国产免费黄色大片 | 亚洲精品亚洲人成人网 | 久久这里有精品视频任我鲁 | 国产精品久久久久久 | 天天拍夜夜添久久精品免费 | 水蜜桃一二二区视在线 | 亚洲美女在线视频 | 中文字幕在线网站 | 福利视频欧美 | 国产在线观看成人 | 成人www视频| 男人靠女人视频无遮挡大全 | 色视频免费观看高清完整 | 91精品福利观看 | 99爱视频99爱在线观看免费 | 91网站网站网站在线 |