欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

JavaScript插入動態(tài)樣式實現代碼

2024-04-22    分類: 網站建設

能夠把CSS樣式包含到HTML頁面中的元素有兩個。其中,<link>元素用于包含來自外部的文件,而<style>元素用于指定嵌入的樣式

與動態(tài)腳本類似,所謂動態(tài)樣式是指在頁面剛加載時不存在的樣式;動態(tài)樣式是在頁面加載完成后動態(tài)添加到頁面中。

我們以下面這個典型的<link>元素為例:

<link rel="stylesheet" type="text/css" href="style.css">使用DOM代碼可以很容易的動態(tài)創(chuàng)建出這個元素:

var link = document.createElement("link"); link.rel = "stylesheet"; link.type = "text/css"; link.href = "style.css"; var head = document.getElementsByTagName("head")[0]; head.appendChild(link); 以上代碼在所有主流瀏覽器中都可以正常運行。需要注意的是,必須將<link>元素添加到<head>而不是<body>元素,才能保證在所有瀏覽器中的行為一致。整個過程可以用一下函數來表示:

function loadStyles(url) { var link = document.createElement("link"); link.rel = "stylesheet"; link.type = "text/css"; link.href = url; var head = document.getElementsByTagName("head")[0]; head.appendChild(link); } loadStyles("style.css") 加載外部樣式文件的過程是異步的,也就是加載樣式與執(zhí)行JavaScript代碼的過程沒有固定的次序。

另一種定義樣式的方式是使用<style>元素來包含嵌入式CSS,如下所示:

<style> body { background-color: red; } </style>

按照相同的邏輯,下列DOM代碼應該是有效的:

var style = document.createElement("style"); style.type = "text/css"; style.appendChild(document.createTextNode("body{background-color:red;}")); var head = document.getElementsByTagName("head")[0]; head.appendChild(style); 以上代碼可以在Firefox、Safrai、Chrome和Opera中運行,在IE中則會報錯。IE將<style>視為一個特殊的、與<script>類似的節(jié)點,不允許訪問其子節(jié)點。事實上,IE此時拋出的錯誤與向<script>元素添加子節(jié)點時拋出的錯誤相同。解決IE中的這個問題的辦法,就是訪問元素的styleSheet屬性,該屬性又有一個cssText屬性,可以接受CSS代碼,如下面的例子所示:

var style = document.createElement("style"); style.type = "text/css"; try { style.appendChild(document.createTextNode("body{background-color:red}")); } catch (ex) { style.styleSheet.cssText = "body{background-color:red}"; } var head = document.getElementsByTagName("head")[0]; head.appendChild(style); 與動態(tài)添加嵌入式腳本類似,重寫后的代碼使用了try-catch語句來捕獲IE拋出的錯誤,然后再使用針對IE的特殊方式來設置樣式。一次通用的解決方案如下:

function loadStyleString(css) { var style = document.createElement("style"); style.type = "text/css"; try { style.appendChild(document.createTextNode(css)); } catch (ex) { style.styleSheet.cssText = css; } var head = document.getElementsByTagName("head")[0]; head.appendChild(style); } loadStyleString("body{background-color:red}");

本文來源于成都網站建設公司與成都網站設計制作公司-創(chuàng)新互聯成都公司!

網站名稱:JavaScript插入動態(tài)樣式實現代碼
標題來源:http://aaarwkj.com/news39/324739.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站內鏈、電子商務品牌網站建設、動態(tài)網站企業(yè)建站、搜索引擎優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

1成都定制網站建設
亚洲成人免费在线一区| 桃色av一区二区三区| 未满十八在线观看网址| 美女网站色在线免费观看午夜精品| 国产精品久久一国产精品| 不卡av免费在线网址| 久久伊人这里都是精品| 色婷婷国产精品久久包臀| 久久亚洲精品中文字幕| 国产在线成年人免费观看| 欧美成人午夜精品一区二区| 四影虎影永久免费观看| 日韩欧美中文在线一区二区| 日韩av在线国产观看| 最新国产不卡一区二区| 免费不卡无码毛片观看| 亚洲视频在线的视频在| 精品人妻日韩中文字幕| 免费在线观看av日韩| 久久精品国产一区二区三| 久久综合伊人欧美精品| 免费在线观看一区二区三区视频| 亚洲ve中文字幕久久一区二区| 国产日韩亚洲欧美色片| 日本91一区二区不卡| 熟妇丰满多毛的大阴户| 中文字幕久久亚洲一区| 日韩中文字幕一区二区不卡| 亚洲国产欧美在线91| av国语对白在线观看| av一区二区三区高潮| 日本熟女俱乐部一区二区| 日韩特级黄片在线免费观看| 丰满人妻熟妇乱精品视频| 农村精品少妇久久久久久| 国内精品自拍亚洲视频| 精品久久亚洲一区二区欧美| 日韩精品 在线一区二区| 国产视频三级在线观看| 国产精品午夜视频免费观看| 一区二区三区在线观看美女视频|