1、直接更改,比如:
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)武夷山,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
xID.style.display?=?"block";?//?更改display屬性,會覆蓋css中的定義。
xID.style.display?=?"";??????//?取消js更改display屬性,以css樣式為準(zhǔn)。
這里的xID,是通過id獲取的標(biāo)簽。當(dāng)然,也可能是通過tagName之類的獲取的標(biāo)簽。
這種方式,簡單直接。但是要修改大量的樣式的時(shí)候,不適合。所以,我更推薦第二種方式。
2、更改類名
xID.className?=?"xx???yy";
如果有多個(gè)類,就用空格隔開。前提,在樣式中要有已有類的定義。比如這里的xx和yy類,在css中應(yīng)該是寫好的。
這種方式把所有的樣式寫在了css文件中,適合更改較多的樣式以及炫酷的樣式。js就只做一件事情:改類。至于這個(gè)類會把標(biāo)簽變成什么樣子,交給css吧。
通過jquery也可以達(dá)到如上的效果:
$("#xID").css({
fontSize:"12px",
display:"block"
});??//?直接更改樣式
$("#xID").addClass("xx");??//?增加刪除類
$("#xID").removeClass("xx");
語法:元素.style.樣式名=樣式值
注意:如果CSS的樣式名中含有-,這種名稱在JS中是不合法的,比如 background-color 。需要將這種樣式名修改為駝峰命名法:去掉-,然后將-后的第一個(gè)字母大寫,比如 backgroundColor
我們通過style屬性設(shè)置的樣式都是內(nèi)聯(lián)樣式,而內(nèi)聯(lián)樣式有較高的優(yōu)先級,所以通過JS修改的樣式往往會立即顯示
但是如果在樣式中寫了!important,則此時(shí)樣式會有最高的優(yōu)先級,即使通過JS也不能覆蓋該樣式,此時(shí)將會導(dǎo)致JS修改樣式失效
所以盡量不要為樣式添加!important
語法:元素.style.樣式名
通過style屬性設(shè)置和讀取的都是內(nèi)聯(lián)樣式,無法讀取樣式表中的樣式
語法:元素.currentStyle.樣式名
如果當(dāng)前元素沒有設(shè)置該樣式,則獲取它的默認(rèn)值
例如: box1.currentStyle.width
這個(gè)方法是window的方法,可以直接使用需要兩個(gè)參數(shù)
第一個(gè):要獲取樣式的元素
第二個(gè):可以傳遞一個(gè)偽元素,一般都傳null
該方法會返回一個(gè)對象,對象中封裝了當(dāng)前元素對應(yīng)的樣式
可以通過對象﹒樣式名來讀取樣式
如果獲取的 樣式?jīng)]有設(shè)置 ,則會獲取到真實(shí)的值,而不是默認(rèn)值
比如:沒有設(shè)置width,它不會獲取到auto,而是 一個(gè)長度
注意:通過currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過style屬性
參數(shù):
obj 要獲取樣式的元素
name 要獲取的樣式名
通過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、效果如圖