如果網(wǎng)頁中一個
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出平原免費(fèi)做網(wǎng)站回饋大家。
id為“no”的標(biāo)簽,暫且當(dāng)div標(biāo)簽來tell;
想要在js中設(shè)置這個div的css樣式,很一般的做法是:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.width
=
'400px';
obj.style.height
=
'300px';
如果要設(shè)置一堆又一堆的css樣式呢,太麻煩了把、
一般情況下都會結(jié)合css來添加className或者改變className達(dá)到想要的效果,但是如果你create一個元素,難道還想這樣簡單點(diǎn)?那就要想別的辦法了~
于是大家就寫了一個又一個的函數(shù),經(jīng)典的兩個是:
var
obj
=
document.getElementByIdx_x_x('no');
function
setStyle(obj,
css)
{
for(var
attr
in
obj){
obj.style[attr]
=
css[attr];
}
}
setStyle(obj,{width:"400px",height:"300px"});
當(dāng)然還有更簡單的,cssText:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.cssText
=
"width:400px;
height:300px;";
當(dāng)然這種方法對于create的元素初始化css樣式來說很簡單很方便。
以上就是小編為大家?guī)淼膉s中用cssText設(shè)置css樣式的簡單方法的全部內(nèi)容了,希望對大家有所幫助,多多支持腳本之家~
1:獲取你要操作的標(biāo)簽對象
2:用你獲取到的對象改變其標(biāo)簽的樣式。代碼為:obj.style.background = "red";
這段代碼中obj是你獲取到的標(biāo)簽的對象,background是要改的css樣式
或者這樣寫:obj.style.cssText = "background:red;color:#444;font-size:16px";
3:以上的這種方式都是動態(tài)添加元素的內(nèi)聯(lián)樣式。你也可以改元素的class選擇器或者ID選擇器。
4:還有一種方法就是需要你自己封裝一個獲取外聯(lián)樣式屬性值的方法,這種方法需要處理兼容。
5:對于以上回答如有哪里不理解請指正,追問
6:望采納
語法:元素.style.樣式名=樣式值
注意:如果CSS的樣式名中含有-,這種名稱在JS中是不合法的,比如 background-color 。需要將這種樣式名修改為駝峰命名法:去掉-,然后將-后的第一個字母大寫,比如 backgroundColor
我們通過style屬性設(shè)置的樣式都是內(nèi)聯(lián)樣式,而內(nèi)聯(lián)樣式有較高的優(yōu)先級,所以通過JS修改的樣式往往會立即顯示
但是如果在樣式中寫了!important,則此時樣式會有最高的優(yōu)先級,即使通過JS也不能覆蓋該樣式,此時將會導(dǎo)致JS修改樣式失效
所以盡量不要為樣式添加!important
語法:元素.style.樣式名
通過style屬性設(shè)置和讀取的都是內(nèi)聯(lián)樣式,無法讀取樣式表中的樣式
語法:元素.currentStyle.樣式名
如果當(dāng)前元素沒有設(shè)置該樣式,則獲取它的默認(rèn)值
例如: box1.currentStyle.width
這個方法是window的方法,可以直接使用需要兩個參數(shù)
第一個:要獲取樣式的元素
第二個:可以傳遞一個偽元素,一般都傳null
該方法會返回一個對象,對象中封裝了當(dāng)前元素對應(yīng)的樣式
可以通過對象﹒樣式名來讀取樣式
如果獲取的 樣式?jīng)]有設(shè)置 ,則會獲取到真實的值,而不是默認(rèn)值
比如:沒有設(shè)置width,它不會獲取到auto,而是 一個長度
注意:通過currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過style屬性
參數(shù):
obj 要獲取樣式的元素
name 要獲取的樣式名
在頁面內(nèi)用JS操作CSS除非用AJAX,但操作頁面內(nèi)的樣式的話,是可以的。操作樣式分為改變直接樣式,改變className和改變cssText三種
一、局部改變樣式
調(diào)用方法:
改變className
div id="demo"測試/div
script
document.getElementById('demo').className="test";
/script
改變直接樣式
div id="demo"測試/div
script
document.getElementById('obj').style.backgroundColor="#003366";
/script
二、全局改變樣式
可以通過改變外鏈樣式的的href的值實現(xiàn)網(wǎng)頁樣式的實時切換
link rel = "stylesheet" type="text/css" id="css" href="firefox.css" /
span on click="javascript:document.getElementById('css').href = 'ie.css'"點(diǎn)我改變樣式/span
一、獲取內(nèi)聯(lián)樣式
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í)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
js是無法直接修改css文件的,但可以通過取對象的方式修改對象的樣式,通常有兩種方法:
1、改變className,但首先在樣式表中預(yù)設(shè)定樣式類。
例如:document.getElementById('obj').className='...';
2、改變cssText。
例如:document.getElementById('obj').style.height='100px';
文章名稱:js中的css樣式,js 樣式
新聞來源:http://www.rwnh.cn/article36/dscohsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站維護(hù)、企業(yè)建站、定制開發(fā)、、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)