一、獲取內(nèi)聯(lián)樣式
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計與策劃設(shè)計,許昌網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:許昌等地區(qū)。許昌做網(wǎng)站價格咨詢:18980820575
div
id
="myDiv"
style="width:100px;height:100px;background-color:red;
border:1px
solid
black;"/div
script
var
myDiv
=
document.getElementById("myDiv");
alert(myDiv.style.width);//100px
alert(myDiv.style['height']);//100px
var
style=myDiv.style;
alert(style.backgroundColor);//red
myDiv.style.backgroundColor='green';//myDiv背景色變?yōu)榫G色
/script
在這種情況下,獲取和設(shè)置樣式只靠style屬性就可以,因為element.style屬性返回的是類似數(shù)組的一組樣式屬性及對應(yīng)值,因此訪問具體樣式的時候可以采取兩種方式即“ele.style.屬性名稱”和“ele.style['屬性名稱']”。但是,要注意的是,針對css樣式里background-color;margin-left之類的短杠相接的屬性名稱,在使用style屬性獲取設(shè)置樣式的時候名稱要改為駝峰式,如ele.style.backgroundColor.
二、因為第一種方法,即使用style屬性只能獲取到內(nèi)聯(lián)樣式。但是,實際情況是文檔在現(xiàn)在都基本遵循分離思想,樣式基本都是外部鏈接,所以三種樣式都要考慮到的,這時就要使用其他方法進(jìn)行獲取,而在這種情況下進(jìn)行樣式獲取時,不同的瀏覽器又有不同的處理方式(主要是ie和非ie),因此根據(jù)瀏覽器可以分為兩種方式:
(2.1)非ie瀏覽器中,使用document.defaultView對象的getComputedStyle(ele,null/偽類)方法,該方法接受兩個參數(shù),第一個為要考察的元素,第二個則要根據(jù)情況,如果只是考察元素本身則為null,如果要
考察偽類,則為響應(yīng)的偽類。該方法獲取到的為元素應(yīng)用的最終樣式組合,同樣是類似數(shù)組的一個實例。
(2.2)在ie瀏覽器中,對getComputedStyle()方法不支持,但是針對每個標(biāo)簽元素都有一個近似于style屬性的currentStyle的屬性,且用法和style用法相同。只不過獲取到的樣式范圍不一樣。currenStyle獲取到的和getComputedStyle()方法相接近。
為了在處理時達(dá)到兼容,可以根據(jù)這兩種不同的處理方式創(chuàng)建一個函數(shù)來達(dá)到兼容目的,使得不管在那種瀏覽器中,都可以成功獲取樣式。如下所示:
style
type="text/css"
#myDiv
{
background-color:blue;
width:100px;
height:200px;
}
/style
div
id
="myDiv"
style="background-color:red;
border:1px
solid
black;"/div
script
var
myDiv
=
document.getElementById("myDiv");
var
finalStyle
=
myDiv.currentStyle
?
myDiv.currentStyle
:
document.defaultView.getComputedStyle(myDiv,
null);/*利用判斷是否支持currentStyle(是否為ie)
來通過不同方法獲取style*/
alert(finalStyle.backgroundColor);
//"red"
alert(finalStyle.width);
//"100px"
alert(finalStyle.height);
//"200px"
/script
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
//先獲取dom節(jié)點
var
a
=
document.getelementbyid('id')
a.style.color="red";
//改變顏色
a.innerhtml='修改內(nèi)容';
//修改內(nèi)容
//還可以動態(tài)的添加css來改變css樣式
a.classname='class名';
1、直接更改,比如:
xID.style.display?=?"block";?//?更改display屬性,會覆蓋css中的定義。
xID.style.display?=?"";??????//?取消js更改display屬性,以css樣式為準(zhǔn)。
這里的xID,是通過id獲取的標(biāo)簽。當(dāng)然,也可能是通過tagName之類的獲取的標(biāo)簽。
這種方式,簡單直接。但是要修改大量的樣式的時候,不適合。所以,我更推薦第二種方式。
2、更改類名
xID.className?=?"xx???yy";
如果有多個類,就用空格隔開。前提,在樣式中要有已有類的定義。比如這里的xx和yy類,在css中應(yīng)該是寫好的。
這種方式把所有的樣式寫在了css文件中,適合更改較多的樣式以及炫酷的樣式。js就只做一件事情:改類。至于這個類會把標(biāo)簽變成什么樣子,交給css吧。
通過jquery也可以達(dá)到如上的效果:
$("#xID").css({
fontSize:"12px",
display:"block"
});??//?直接更改樣式
$("#xID").addClass("xx");??//?增加刪除類
$("#xID").removeClass("xx");
方法步驟:
先獲取要改變css的元素。
改變這個元素的style屬性。
eg:下面是改變div的背景色,改為藍(lán)色。
style
div{width:200px;height:200px;background:#f00;}
/style
div改變背景色/div
script
var div = document.getElementsByTagName("div");
div.style.background = "blue";
/script
舉例1:
li onmouseover='this.className='AAAAA'' onmouseout='this.className='BBBBB''
鼠標(biāo)經(jīng)過 樣式表變化 可用于 顏色變化等
舉例2:
用戶名:input type="button" class="input1" onclick="this.className='input2'"
鼠標(biāo)點擊 樣式表變化
或者 單獨寫一個javascript函數(shù)
舉例3:
script language=javascript
function ChangeStyle(idName,StyleName){
document.getElementById(idName).className=StyleName
}
/script
input type=button onclick="ChangeStyle(Text1,"div2")" vaule="變換"
div id=Text1 class=div1啊哈哈哈哈/div
新聞標(biāo)題:js點擊css樣式,css按鈕被點擊之后的樣式
地址分享:http://chinadenli.net/article22/dsdsjcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)、網(wǎng)站營銷、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)