本文目錄一覽:
- 1、js如何直接修改css裏面的屬性值呢?
- 2、筆記:JS設置CSS樣式的幾種方式
- 3、如何用JS修改已加載的CSS樣式表樣式?
- 4、JS修改CSS設置的樣式
- 5、如何使用jquery修改css中帶有,important的樣式屬性
js如何直接修改css裏面的屬性值呢?
樣式優先級
如果不能通過標籤覆蓋,可以在body上定義id 通過ID來改樣式,js盡量放在底部
筆記:JS設置CSS樣式的幾種方式
1、直接更改,比如:
xID.style.display = “block”; // 更改display屬性,會覆蓋css中的定義。
xID.style.display = “”; // 取消js更改display屬性,以css樣式為準。
這裡的xID,是通過id獲取的標籤。當然,也可能是通過tagName之類的獲取的標籤。
這種方式,簡單直接。但是要修改大量的樣式的時候,不適合。所以,我更推薦第二種方式。
2、更改類名
xID.className = “xx yy”;
如果有多個類,就用空格隔開。前提,在樣式中要有已有類的定義。比如這裡的xx和yy類,在css中應該是寫好的。
這種方式把所有的樣式寫在了css文件中,適合更改較多的樣式以及炫酷的樣式。js就只做一件事情:改類。至於這個類會把標籤變成什麼樣子,交給css吧。
通過jquery也可以達到如上的效果:
$(“#xID”).css({
fontSize:”12px”,
display:”block”
}); // 直接更改樣式
$(“#xID”).addClass(“xx”); // 增加刪除類
$(“#xID”).removeClass(“xx”);
如何用JS修改已加載的CSS樣式表樣式?
js是無法直接修改css文件的,但可以通過取對象的方式修改對象的樣式,通常有兩種方法:
1、改變className,但首先在樣式表中預設定樣式類。
例如:document.getElementById(‘obj’).className=’…’;
2、改變cssText。
例如:document.getElementById(‘obj’).style.height=’100px’;
JS修改CSS設置的樣式
語法:元素.style.樣式名=樣式值
注意:如果CSS的樣式名中含有-,這種名稱在JS中是不合法的,比如 background-color 。需要將這種樣式名修改為駝峰命名法:去掉-,然後將-後的第一個字母大寫,比如 backgroundColor
我們通過style屬性設置的樣式都是內聯樣式,而內聯樣式有較高的優先級,所以通過JS修改的樣式往往會立即顯示
但是如果在樣式中寫了!important,則此時樣式會有最高的優先級,即使通過JS也不能覆蓋該樣式,此時將會導致JS修改樣式失效
所以盡量不要為樣式添加!important
語法:元素.style.樣式名
通過style屬性設置和讀取的都是內聯樣式,無法讀取樣式表中的樣式
語法:元素.currentStyle.樣式名
如果當前元素沒有設置該樣式,則獲取它的默認值
例如: box1.currentStyle.width
這個方法是window的方法,可以直接使用需要兩個參數
第一個:要獲取樣式的元素
第二個:可以傳遞一個偽元素,一般都傳null
該方法會返回一個對象,對象中封裝了當前元素對應的樣式
可以通過對象﹒樣式名來讀取樣式
如果獲取的 樣式沒有設置 ,則會獲取到真實的值,而不是默認值
比如:沒有設置width,它不會獲取到auto,而是 一個長度
注意:通過currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過style屬性
參數:
obj 要獲取樣式的元素
name 要獲取的樣式名
如何使用jquery修改css中帶有,important的樣式屬性
代碼如下:
!DOCTYPE html
html
head
meta charset=”utf-8″ /
titleTest/title
script src=”” type=”text/javascript” charset=”utf-8″/script
style
.test1{
color:red !important;
}
/style
/head
body
div class=”test1″這是一個測試!/div
br /
br /
button class=”test2″change/button
script
$(function() {
$(“.test2”).off(“click”).on(“click”,function(){//點擊按鈕改變字體顏色和大小
$(“.test1”).css(“cssText”,”color:blue !important;font-size:40px;”);
});
});
/script
/body
/html
望採納~!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/185555.html