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

JS 控制CSS樣式表

 更新時間:2009年08月20日 02:09:24   作者:  
JS控制CSS樣式,首先得確定一點,CSS與HTML頁面的鏈接方式,因為CSS有3種與HTML頁面結(jié)合的方式,不同的方式也會產(chǎn)生不同的結(jié)果.
下面先記錄一下JS控制CSS所使用的方法.

1.使用javascript更改某個css class的屬性...

<style type="text/css">
.orig {
display: none;
}
</style>
你想要改變把他的display屬性由none改為inline。
解決辦法: 在IE里:

document.styleSheets[0].rules[0].style.display = "inline";
在firefox里:

document.styleSheets[0].cssRules[0].style.display = "inline";
討論: 可以做一個函數(shù)來搜索特定名字的style對象:

function getstyle(sname) {
for (var i=0;i<document.styleSheets.length;i++) {
var rules;
if (document.styleSheets[i].cssRules) {
rules = document.styleSheets[i].cssRules;
} else {
rules = document.styleSheets[i].rules;
}
for (var j=0;j<rules.length;j++) {
if (rules[j].selectorText == sname) {
//selectorText 屬性的作用是對一個選擇的地址進行替換.意思應該是獲取RULES[J]的CLASSNAME.有說錯的地方歡迎指正
return rules[j].style;
}
}
}
}
然后只要:

getstyle(".orig").display = "inline";
就可以了。
------------------ 注意 document.styleSheets[0].rules[0].style 這個 styleSheets[0]數(shù)組的下標是代表本頁的第N個CSS樣式表,它的下級rules[0]的數(shù)組下標表示的則是這個樣式表中的第N個樣式,例如:
<style type="text/css">
.s{display="none";}
.w{display="none";}
</style>
修改S則: document.styleSheets[0].rules[0].style.display='inline';
修改W則:document.styleSheets[0].rules[1].style.display = 'inline';
注意:CSS和HTML結(jié)合的方式必須為<LINK rel="stylesheet" type="text/css" href="" /> 或<style></style>的時候以上方法可行,如@IMPORT 則不行.
====================================
下面記錄一下JS訪問CSS中的樣式:
用javascript獲取和設置style
DOM標準引入了覆蓋樣式表的概念,當我們用document.getElementById("id").style.backgroundColor 獲取樣式時 獲取的只是id中style屬性中設置的背景色,如果id中的style屬性中沒有設置background-color那么就會返回空,也就是說如果id用class屬性引用了一個外部樣式表,在這個外部樣式表中設置的背景色,那么不好意思document.getElementById("id").style.backgroundColor 這種寫法不好使,如果要獲取外部樣式表中的設置,需要用到window對象的getComputedStyle()方法,代碼這樣寫window.getComputedStyle(id,null).backgroundColor
但是兼容問題又來了,這么寫在firefox中好使,但在IE中不好使
兩者兼容的方式寫成
window.getComputedStyle?window.getComputedStyle(id,null).backgroundColor:id.currentStyle["backgroundColor"];
如果是獲取背景色,這種方法在firefox和IE中的返回值還是不一樣的,IE中是返回"#ffff99"樣子的,而firefox中返回"rgb(238, 44, 34) "
值得注意的是:window.getComputedStyle(id,null)這種方式不能設置樣式,只能獲取,要設置還得寫成類似這樣id.style.background="#EE2C21";
在IE中CURRENTSTYLE只能以只讀方式獲取樣式.

本文只為學習,摘錄了網(wǎng)絡搜索資料結(jié)合而成,無任何版權(quán),可以任意轉(zhuǎn)載,如原作者有不同想法,可隨時聯(lián)系我.


用JavaScript修改CSS屬性

只有寫原生的javascript了。

1.用JS修改標簽的 class 屬性值:

class 屬性是在標簽上引用樣式表的方法之一,它的值是一個樣式表的選擇符,如果改變了 class 屬性的值,標簽所引用的樣式表也就更換了,所以這屬于第一種修改方法。

更改一個標簽的 class 屬性的代碼是:

document.getElementById( id ).className = 字符串;
document.getElementById( id ) 用于獲取標簽對應的 DOM 對象,你也可以用其它方法獲取。className 是 DOM 對象的一個屬性,它對應于標簽的 class 屬性。字符串 是 class 屬性的新值,它應該是一個已定義的CSS選擇符。

利用這種辦法可以把標簽的CSS樣式表替換成另外一個,也可以讓一個沒有應用CSS樣式的標簽應用指定的樣式。

舉例:

復制代碼 代碼如下:

<style type="text/css">
.txt {
font-size: 30px; font-weight: bold; color: red;
}
</style>
<div id="tt">歡迎光臨!</div>
<p><button onclick="setClass()">更改樣式</button></p>
<script type="text/javascript">
function setClass()
{
document.getElementById( "tt" ).className = "txt";
}
</script>


2.用JS修改標簽的 style 屬性值:
style 屬性也是在標簽上引用樣式表的方法之一,它的值是一個CSS樣式表。DOM 對象也有 style 屬性,不過這個屬性本身也是一個對象,Style 對象的屬性和 CSS 屬性是一一對應的,當改變了 Style 對象的屬性時,對應標簽的 CSS 屬性值也就改變了,所以這屬于第二種修改方法。

更改一個標簽的 CSS 屬性的代碼是:

document.getElementById( id ).style.屬性名 = 值;
document.getElementById( id ) 用于獲取標簽對應的 DOM 對象,你也可以用其它方法獲取。style 是 DOM 對象的一個屬性,它本身也是一個對象。屬性名 是 Style 對象的屬性名,它和某個CSS屬性是相對應的。

說明:這種方法修改的單一的一個CSS屬性,它不影響標簽上其它CSS屬性值。

舉例:

復制代碼 代碼如下:

div id="t2">歡迎光臨!</div>
<p><button onclick="setSize()">大小</button>
<button onclick="setColor()">顏色</button>
<button onclick="setbgColor()">背景</button>
<button onclick="setBd()">邊框</button>
</p>
<script type="text/javascript">
function setSize()
{
document.getElementById( "t2" ).style.fontSize = "30px";
}
function setColor()
{
document.getElementById( "t2" ).style.color = "red";
}
function setbgColor()
{
document.getElementById( "t2" ).style.backgroundColor = "blue";
}
function setBd()
{
document.getElementById( "t2" ).style.border = "3px solid #FA8072";
}
</script>

相關(guān)文章

  • js實現(xiàn)調(diào)用網(wǎng)絡攝像頭及常見錯誤處理

    js實現(xiàn)調(diào)用網(wǎng)絡攝像頭及常見錯誤處理

    這篇文章主要介紹了js實現(xiàn)調(diào)用網(wǎng)絡攝像頭及常見錯誤處理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • NodeJS的模塊寫法入門(實例代碼)

    NodeJS的模塊寫法入門(實例代碼)

    前面提到了NodeJS的命令行和Web版之“Hello,World”。命令行是直接執(zhí)行hello.js文件,Web版的需要require http模塊。http模塊是NodeJS自身提供的
    2012-03-03
  • 使用AutoJs實現(xiàn)微信搶紅包的代碼

    使用AutoJs實現(xiàn)微信搶紅包的代碼

    這篇文章主要介紹了使用AutoJs實現(xiàn)微信搶紅包的代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • js 使FORM表單的所有元素不可編輯的示例代碼

    js 使FORM表單的所有元素不可編輯的示例代碼

    使FORM表單的的所有元素不可編輯的方法有很多,在本文將為大家詳細介紹下,js是如何做到的,感興趣的朋友不要錯過
    2013-10-10
  • javascript 繪制矩形框

    javascript 繪制矩形框

    今天讀John Resig的Pro Javascript Techniques時候看到他書上給的一個關(guān)于drag and drop的例子,我做的第二件事就是js模擬用鼠標拖出矩形框,代碼很簡單
    2009-04-04
  • JS中原始值和引用值的儲存方式示例詳解

    JS中原始值和引用值的儲存方式示例詳解

    原始值指的是代表原始數(shù)據(jù)類型的值,也叫基本數(shù)據(jù)類型,引用值指的是復合數(shù)據(jù)類型的值。接下來通過示例代碼給大家介紹JS中原始值和引用值的儲存方式,感興趣的朋友一起看看吧
    2018-03-03
  • H5實現(xiàn)中獎記錄逐行滾動切換效果

    H5實現(xiàn)中獎記錄逐行滾動切換效果

    這篇文章主要為大家詳細介紹了H5實現(xiàn)中獎記錄逐行滾動切換效果,利用定時器實現(xiàn)中獎記錄逐行展示,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • JS+CSS實現(xiàn)的豎向簡潔折疊菜單效果代碼

    JS+CSS實現(xiàn)的豎向簡潔折疊菜單效果代碼

    這篇文章主要介紹了JS+CSS實現(xiàn)的豎向簡潔折疊菜單效果代碼,涉及JavaScript鏈式操作與元素遍歷等相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • Javascript模塊模式分析

    Javascript模塊模式分析

    javascritp模式講解全局變量是魔鬼。在YUI中,我們僅用兩個全局變量:YAHOO和YAHOO_config。YUI的一切都是使用YAHOO對象級的成員或這個成員作用域內(nèi)的變量。我們建議在你的應用程序也使用類似的規(guī)則。
    2008-05-05
  • js匿名函數(shù)作為函數(shù)參數(shù)詳解

    js匿名函數(shù)作為函數(shù)參數(shù)詳解

    下面小編就為大家?guī)硪黄猨s匿名函數(shù)作為函數(shù)參數(shù)詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06

最新評論