js中classname=“”;清除的是所有css樣式,還是某些css樣式呢?
網(wǎng)友解答: 如果是原生js設(shè)置css樣式有以下四種方式 :dom.style.top=“100px”dom.style.cssText = "margin-top:50px"dom.cl
如果是原生js設(shè)置css樣式有以下四種方式 :
dom.style.top=“100px”
dom.style.cssText = "margin-top:50px"
dom.className = "class1 class2";
dom.setAttribute("class", "class1 class2");
而元素樣式的設(shè)置也包括id設(shè)置,class設(shè)置,style屬性內(nèi)聯(lián)設(shè)置等多種方法,并且不同設(shè)置方式還有優(yōu)先級(jí)。
由于class屬性可以有多個(gè)值,使用空格分割,所以在設(shè)置和刪除class也可以一塊或分別刪除某些class樣式。
classname=“”就是將此元素的所有class樣式全部刪除,但并不是刪除所有樣式,會(huì)保留通過(guò)style、id等其他方法進(jìn)行的設(shè)置,重新計(jì)算css樣式賦給元素進(jìn)行顯示。
如果您是不想刪除多個(gè)class樣式??梢栽O(shè)置className等于其中一部分樣式,或者其他樣式使用其他方式進(jìn)行設(shè)置,比如id或style。
如果是jquery修改css樣式也主要有以下三種方式通過(guò)class函數(shù)操作樣式var label_class = $cr.attr("class"); //獲取樣式
$cr.attr("class","high"); //設(shè)置樣式
$cr.addClass("high1"); //追加樣式
$cr.removeClass("high1"); //移除樣式
$cr.removeClass("high1 high"); //同時(shí)移除多個(gè)樣式
$cr.toggle("high1");//對(duì)樣式參數(shù)有無(wú)進(jìn)行切換
$cr.hasClass("high1");//判斷是否含有指定樣式,實(shí)際調(diào)用的為is(".high1");
通過(guò)css函數(shù)操作樣式$cr.css("color"); //css(name)讀取style樣式
$cr.css("color","red"); //css(key,value)設(shè)置style樣式,等價(jià)于cr.style.color="red"
$cr.css({'fontSize':'30px','backgroundColor':'#888888'}); //css(properties)同時(shí)設(shè)置多個(gè)樣式。在帶有-的樣式屬性中如font-size,添加引號(hào)后,可以寫(xiě)成font-size也可以寫(xiě)成駝峰式fontSize
通過(guò)樣式專有函數(shù)操作樣式var width = $cr.width(); //讀取寬高相關(guān)樣式:height、width、innerHeight、innerWidth、outerHeight、outerWidth
$cr.width(800); //設(shè)置寬高相關(guān)樣式:height、width、innerHeight、innerWidth、outerHeight、outerWidth
var offset = $cr.offset(); //偏移類(lèi)。獲取元素在當(dāng)前視窗中的相對(duì)偏移,只對(duì)可見(jiàn)元素有效,包含offset.left和offset.top兩個(gè)屬性
var position = $cr.position(); //位置類(lèi)。獲取元素相對(duì)于最近的一個(gè)position屬性設(shè)置為relative或absolute的祖父節(jié)點(diǎn)的相對(duì)偏移,包含position.left和position.top兩個(gè)屬性
$cr.scrollTop(); //獲取元素的滾動(dòng)條距頂端的距離
$cr.scrollLeft(300); //獲取元素的滾動(dòng)條距左端的距離,也可以通過(guò)參數(shù)設(shè)置滾動(dòng)左邊的距離
$cr.show(); //表示display:block,
$cr.hide();//表示display:none;
$cr.toggle(); //切換元素的可見(jiàn)狀態(tài)
網(wǎng)友解答:如果一個(gè)元素身上原本有多個(gè)class,那么classNane=''就會(huì)清除所有的樣式,可以用新增方法element.classList.add('name'),給元素添加class,同理,element.classList.remove('name'),會(huì)在多個(gè)class中刪除name類(lèi)名,element.classList.toggle('name'),則是判斷,有就刪除,沒(méi)有就添加