欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js中巧用cssText屬性批量操作樣式

 更新時間:2011年03月13日 23:33:21   作者:  
js中巧用cssText屬性批量操作樣式,需要的朋友可以參考下。
給一個HTML元素設(shè)置css屬性,如
復(fù)制代碼 代碼如下:

var head= document.getElementById("head");
head.style.width = "200px";
head.style.height = "70px";
head.style.display = "block";

這樣寫太羅嗦了,為了簡單些寫個工具函數(shù),如
復(fù)制代碼 代碼如下:

function setStyle(obj,css){
for(var atr in css){
obj.style[atr] = css[atr];
}
}
var head= document.getElementById("head");
setStyle(head,{width:"200px",height:"70px",display:"block"})

發(fā)現(xiàn) Google API 中使用了cssText屬性,后在各瀏覽器中測試都通過了。一行代碼即可,實(shí)在很妙。如
復(fù)制代碼 代碼如下:

var head= document.getElementById("head");
head.style.cssText="width:200px;height:70px;display:bolck";

和innerHTML一樣,cssText很快捷且所有瀏覽器都支持。此外當(dāng)批量操作樣式時,cssText只需一次reflow,提高了頁面渲染性能。

但cssText也有個缺點(diǎn),會覆蓋之前的樣式。如
復(fù)制代碼 代碼如下:

<div style="color:red;">TEST</div>

想給該div在添加個css屬性width
復(fù)制代碼 代碼如下:

div.style.cssText = "width:200px;";

這時雖然width應(yīng)用上了,但之前的color被覆蓋丟失了。因此使用cssText時應(yīng)該采用疊加的方式以保留原有的樣式。
復(fù)制代碼 代碼如下:

function setStyle(el, strCss){
var sty = el.style;
sty.cssText = sty.cssText + strCss;
}

使用該方法在IE9/Firefox/Safari/Chrome/Opera中沒什么問題,但由于 IE6/7/8中cssText返回值少了分號 會讓你失望。

因此對IE6/7/8還需單獨(dú)處理下,如果cssText返回值沒";"則補(bǔ)上
復(fù)制代碼 代碼如下:

function setStyle(el, strCss){
function endsWith(str, suffix) {
var l = str.length - suffix.length;
return l >= 0 && str.indexOf(suffix, l) == l;
}
var sty = el.style,
cssText = sty.cssText;
if(!endsWith(cssText, ';')){
cssText += ';';
}
sty.cssText = cssText + strCss;
}

相關(guān):
http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration
https://developer.mozilla.org/en/DOM/CSSStyleDeclaration

相關(guān)文章

  • 解決Layui中l(wèi)ayer報錯的問題

    解決Layui中l(wèi)ayer報錯的問題

    今天小編就為大家分享一篇解決Layui中l(wèi)ayer報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • js寫一個彈出層并鎖屏效果實(shí)現(xiàn)代碼

    js寫一個彈出層并鎖屏效果實(shí)現(xiàn)代碼

    js實(shí)現(xiàn)一個彈出層并鎖屏效果是每一網(wǎng)友所期望的效果,于是搜集整理一番,把代碼曬出來和大家分享
    2012-12-12
  • Javascript監(jiān)視變量變化的方法

    Javascript監(jiān)視變量變化的方法

    這篇文章主要介紹了Javascript監(jiān)視變量變化的方法,涉及javascript針對變量的相關(guān)操作技巧,需要的朋友可以參考下
    2015-06-06
  • JS跳過debugger的幾種方法小結(jié)

    JS跳過debugger的幾種方法小結(jié)

    本文主要介紹了JS跳過debugger的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 手把手15分鐘搭一個企業(yè)級腳手架

    手把手15分鐘搭一個企業(yè)級腳手架

    這篇文章主要介紹了手把手15分鐘搭一個企業(yè)級腳手架,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 一文帶你徹底搞懂JavaScript正則表達(dá)式

    一文帶你徹底搞懂JavaScript正則表達(dá)式

    正則表達(dá)式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串搜索模式,這篇文章主要給大家介紹了關(guān)于徹底搞懂JavaScript正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • JS實(shí)現(xiàn)搜索框文字可刪除功能

    JS實(shí)現(xiàn)搜索框文字可刪除功能

    本文給大家分享一段js代碼實(shí)現(xiàn)搜索框文字可刪除功能,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2016-12-12
  • JScript分割字符串示例代碼

    JScript分割字符串示例代碼

    分割字符串的方法有很多,下面為大家介紹下使用JScript簡單實(shí)現(xiàn)下,喜歡的朋友可以參考下
    2013-09-09
  • Ionic快速安裝教程

    Ionic快速安裝教程

    Ionic 是目前最有潛力的一款 HTML5 手機(jī)應(yīng)用開發(fā)框架。通過 SASS 構(gòu)建應(yīng)用程序,它 提供了很多 UI 組件來幫助開發(fā)者開發(fā)強(qiáng)大的應(yīng)用。接下來小編給大家介紹如何安裝 Ionic 在自己的電腦上搭建一個簡單的小應(yīng)用,感興趣的朋友一起看看吧
    2016-06-06
  • js實(shí)現(xiàn)頁面轉(zhuǎn)發(fā)功能示例代碼

    js實(shí)現(xiàn)頁面轉(zhuǎn)發(fā)功能示例代碼

    本文為大家介紹的是使用js實(shí)現(xiàn)頁面轉(zhuǎn)發(fā),具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-08-08

最新評論