如果網(wǎng)頁(yè)中一個(gè)
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出平原免費(fèi)做網(wǎng)站回饋大家。
id為“no”的標(biāo)簽,暫且當(dāng)div標(biāo)簽來(lái)tell;
想要在js中設(shè)置這個(gè)div的css樣式,很一般的做法是:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.width
=
'400px';
obj.style.height
=
'300px';
如果要設(shè)置一堆又一堆的css樣式呢,太麻煩了把、
一般情況下都會(huì)結(jié)合css來(lái)添加className或者改變className達(dá)到想要的效果,但是如果你create一個(gè)元素,難道還想這樣簡(jiǎn)單點(diǎn)?那就要想別的辦法了~
于是大家就寫了一個(gè)又一個(gè)的函數(shù),經(jīng)典的兩個(gè)是:
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)然還有更簡(jiǎn)單的,cssText:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.cssText
=
"width:400px;
height:300px;";
當(dāng)然這種方法對(duì)于create的元素初始化css樣式來(lái)說(shuō)很簡(jiǎn)單很方便。
以上就是小編為大家?guī)?lái)的js中用cssText設(shè)置css樣式的簡(jiǎn)單方法的全部?jī)?nèi)容了,希望對(duì)大家有所幫助,多多支持腳本之家~
1:獲取你要操作的標(biāo)簽對(duì)象
2:用你獲取到的對(duì)象改變其標(biāo)簽的樣式。代碼為:obj.style.background = "red";
這段代碼中obj是你獲取到的標(biāo)簽的對(duì)象,background是要改的css樣式
或者這樣寫:obj.style.cssText = "background:red;color:#444;font-size:16px";
3:以上的這種方式都是動(dòng)態(tài)添加元素的內(nèi)聯(lián)樣式。你也可以改元素的class選擇器或者ID選擇器。
4:還有一種方法就是需要你自己封裝一個(gè)獲取外聯(lián)樣式屬性值的方法,這種方法需要處理兼容。
5:對(duì)于以上回答如有哪里不理解請(qǐng)指正,追問(wèn)
6:望采納
語(yǔ)法:元素.style.樣式名=樣式值
注意:如果CSS的樣式名中含有-,這種名稱在JS中是不合法的,比如 background-color 。需要將這種樣式名修改為駝峰命名法:去掉-,然后將-后的第一個(gè)字母大寫,比如 backgroundColor
我們通過(guò)style屬性設(shè)置的樣式都是內(nèi)聯(lián)樣式,而內(nèi)聯(lián)樣式有較高的優(yōu)先級(jí),所以通過(guò)JS修改的樣式往往會(huì)立即顯示
但是如果在樣式中寫了!important,則此時(shí)樣式會(huì)有最高的優(yōu)先級(jí),即使通過(guò)JS也不能覆蓋該樣式,此時(shí)將會(huì)導(dǎo)致JS修改樣式失效
所以盡量不要為樣式添加!important
語(yǔ)法:元素.style.樣式名
通過(guò)style屬性設(shè)置和讀取的都是內(nèi)聯(lián)樣式,無(wú)法讀取樣式表中的樣式
語(yǔ)法:元素.currentStyle.樣式名
如果當(dāng)前元素沒(méi)有設(shè)置該樣式,則獲取它的默認(rèn)值
例如: box1.currentStyle.width
這個(gè)方法是window的方法,可以直接使用需要兩個(gè)參數(shù)
第一個(gè):要獲取樣式的元素
第二個(gè):可以傳遞一個(gè)偽元素,一般都傳null
該方法會(huì)返回一個(gè)對(duì)象,對(duì)象中封裝了當(dāng)前元素對(duì)應(yīng)的樣式
可以通過(guò)對(duì)象﹒樣式名來(lái)讀取樣式
如果獲取的 樣式?jīng)]有設(shè)置 ,則會(huì)獲取到真實(shí)的值,而不是默認(rèn)值
比如:沒(méi)有設(shè)置width,它不會(huì)獲取到auto,而是 一個(gè)長(zhǎng)度
注意:通過(guò)currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過(guò)style屬性
參數(shù):
obj 要獲取樣式的元素
name 要獲取的樣式名
在頁(yè)面內(nèi)用JS操作CSS除非用AJAX,但操作頁(yè)面內(nèi)的樣式的話,是可以的。操作樣式分為改變直接樣式,改變className和改變cssText三種
一、局部改變樣式
調(diào)用方法:
改變className
div id="demo"測(cè)試/div
script
document.getElementById('demo').className="test";
/script
改變直接樣式
div id="demo"測(cè)試/div
script
document.getElementById('obj').style.backgroundColor="#003366";
/script
二、全局改變樣式
可以通過(guò)改變外鏈樣式的的href的值實(shí)現(xiàn)網(wǎng)頁(yè)樣式的實(shí)時(shí)切換
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屬性就可以,因?yàn)閑lement.style屬性返回的是類似數(shù)組的一組樣式屬性及對(duì)應(yīng)值,因此訪問(wèn)具體樣式的時(shí)候可以采取兩種方式即“ele.style.屬性名稱”和“ele.style['屬性名稱']”。但是,要注意的是,針對(duì)css樣式里background-color;margin-left之類的短杠相接的屬性名稱,在使用style屬性獲取設(shè)置樣式的時(shí)候名稱要改為駝峰式,如ele.style.backgroundColor.
二、因?yàn)榈谝环N方法,即使用style屬性只能獲取到內(nèi)聯(lián)樣式。但是,實(shí)際情況是文檔在現(xiàn)在都基本遵循分離思想,樣式基本都是外部鏈接,所以三種樣式都要考慮到的,這時(shí)就要使用其他方法進(jìn)行獲取,而在這種情況下進(jìn)行樣式獲取時(shí),不同的瀏覽器又有不同的處理方式(主要是ie和非ie),因此根據(jù)瀏覽器可以分為兩種方式:
(2.1)非ie瀏覽器中,使用document.defaultView對(duì)象的getComputedStyle(ele,null/偽類)方法,該方法接受兩個(gè)參數(shù),第一個(gè)為要考察的元素,第二個(gè)則要根據(jù)情況,如果只是考察元素本身則為null,如果要
考察偽類,則為響應(yīng)的偽類。該方法獲取到的為元素應(yīng)用的最終樣式組合,同樣是類似數(shù)組的一個(gè)實(shí)例。
(2.2)在ie瀏覽器中,對(duì)getComputedStyle()方法不支持,但是針對(duì)每個(gè)標(biāo)簽元素都有一個(gè)近似于style屬性的currentStyle的屬性,且用法和style用法相同。只不過(guò)獲取到的樣式范圍不一樣。currenStyle獲取到的和getComputedStyle()方法相接近。
為了在處理時(shí)達(dá)到兼容,可以根據(jù)這兩種不同的處理方式創(chuàng)建一個(gè)函數(shù)來(lái)達(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)
來(lái)通過(guò)不同方法獲取style*/
alert(finalStyle.backgroundColor);
//"red"
alert(finalStyle.width);
//"100px"
alert(finalStyle.height);
//"200px"
/script
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
js是無(wú)法直接修改css文件的,但可以通過(guò)取對(duì)象的方式修改對(duì)象的樣式,通常有兩種方法:
1、改變className,但首先在樣式表中預(yù)設(shè)定樣式類。
例如:document.getElementById('obj').className='...';
2、改變cssText。
例如:document.getElementById('obj').style.height='100px';