如果網(wǎng)頁中一個
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比赤壁網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式赤壁網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋赤壁地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
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)容了,希望對大家有所幫助,多多支持腳本之家~
通過js來改變CSS屬性,使用jQuery可以很方便的實(shí)現(xiàn),像這樣:
$("img").css('border-color','red');
就可以把邊框顏色都變成紅色。
這是針對此問題的測試頁面
2、這是3張圖片
img src=';fm=11gp=0.jpg'
img src=';fm=11gp=0.jpg'
img src=';fm=11gp=0.jpg'
3、這是圖片的樣式,邊框默認(rèn)為灰色。
img{
max-width:200px;
border-color:gray;
border-width:10px;
border-style:solid;
}
4、現(xiàn)在通過這幾行用到j(luò)Query的代碼,控制圖片邊框根據(jù)鼠標(biāo)移入移出邊框變灰和變紅。
$(function(){
$("img").on('mouseover',function(){
$(this).css('border-color','red');
}).on('mouseout',function(){
$(this).css('border-color','gray');
});
});
5、效果如圖
語法:元素.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è)置 ,則會獲取到真實(shí)的值,而不是默認(rèn)值
比如:沒有設(shè)置width,它不會獲取到auto,而是 一個長度
注意:通過currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過style屬性
參數(shù):
obj 要獲取樣式的元素
name 要獲取的樣式名
選中標(biāo)簽,然后用style設(shè)置樣式
div?id="h5course"HTML5學(xué)堂(WX號),技術(shù)干貨文章分享/div
script
var?box?=?document.getElementById('h5course');
box.style.color?=?'#39f';
box.style.border?=?'2px?solid?#000';
/script
在頁面內(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的值實(shí)現(xiàn)網(wǎng)頁樣式的實(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
JS可以使用css屬性來進(jìn)行樣式修改,并且不僅可以修改單一屬性,也可以同時修改多個屬性。
案例
以下小案例使用JQuery作為演示。
前提: html頁面首先必須引入JQuery,放置在body體最后的位置。例如:
script?type="text/javascript"?src=""/script
html部分代碼
p
我是一個段落,我沒有背景顏色的,但是JQuery會給我增加背景顏色。
/p
button
點(diǎn)擊我,給上面段落添加黃色背景顏色。
/button
JQuery代碼
$("button").click(function(){
$("p").css("background-color",?"yellow");
});
修改多個屬性
$("button").click(function(){
$("p").css({"background-color":?"yellow",?"font-size":?"200%"});
});
結(jié)論與解釋:
首先使用Jquery選擇器進(jìn)行元素選擇 -?$("button")
為該元素綁定點(diǎn)擊事件 -?click
click中的匿名函數(shù)修改css屬性。
在css屬性的修改中,p段落有了黃色背景; 多個屬性修改,不但有了黃色背景而且字體是之前的兩倍大小。
注意事項(xiàng):
可以不用非要綁定事件,在本案例中,綁定事件是為了更好地演示Jquery如何操作css屬性。
修改單一屬性和多個屬性的寫法是有區(qū)別的,多個屬性使用{},屬性與值之間用:分割,屬性與屬性之間用,分割。
分享文章:js中設(shè)置css樣式,js設(shè)置css樣式失效
當(dāng)前URL:http://jinyejixie.com/article44/dsseiee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、、建站公司、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、Google
聲明:本網(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)