js中classname=“”;清除的是所有css样式,还是某些css样式呢?

网友解答: 如果是原生js设置css样式有以下四种方式 :dom.style.top=“100px”dom.style.cssText = "margin-top:50px"dom.cl

网友解答:

如果是原生js设置css样式有以下四种方式 :

dom.style.top=“100px”

dom.style.cssText = "margin-top:50px"

dom.className = "class1 class2";

dom.setAttribute("class", "class1 class2");

而元素样式的设置也包括id设置,class设置,style属性内联设置等多种方法,并且不同设置方式还有优先级。

由于class属性可以有多个值,使用空格分割,所以在设置和删除class也可以一块或分别删除某些class样式。

classname=“”就是将此元素的所有class样式全部删除,但并不是删除所有样式,会保留通过style、id等其他方法进行的设置,重新计算css样式赋给元素进行显示。

如果您是不想删除多个class样式。可以设置className等于其中一部分样式,或者其他样式使用其他方式进行设置,比如id或style。

如果是jquery修改css样式也主要有以下三种方式通过class函数操作样式

var label_class = $cr.attr("class"); //获取样式

$cr.attr("class","high"); //设置样式

$cr.addClass("high1"); //追加样式

$cr.removeClass("high1"); //移除样式

$cr.removeClass("high1 high"); //同时移除多个样式

$cr.toggle("high1");//对样式参数有无进行切换

$cr.hasClass("high1");//判断是否含有指定样式,实际调用的为is(".high1");

通过css函数操作样式

$cr.css("color"); //css(name)读取style样式

$cr.css("color","red"); //css(key,value)设置style样式,等价于cr.style.color="red"

$cr.css({'fontSize':'30px','backgroundColor':'#888888'}); //css(properties)同时设置多个样式。在带有-的样式属性中如font-size,添加引号后,可以写成font-size也可以写成驼峰式fontSize

通过样式专有函数操作样式

var width = $cr.width(); //读取宽高相关样式:height、width、innerHeight、innerWidth、outerHeight、outerWidth

$cr.width(800); //设置宽高相关样式:height、width、innerHeight、innerWidth、outerHeight、outerWidth

var offset = $cr.offset(); //偏移类。获取元素在当前视窗中的相对偏移,只对可见元素有效,包含offset.left和offset.top两个属性

var position = $cr.position(); //位置类。获取元素相对于最近的一个position属性设置为relative或absolute的祖父节点的相对偏移,包含position.left和position.top两个属性

$cr.scrollTop(); //获取元素的滚动条距顶端的距离

$cr.scrollLeft(300); //获取元素的滚动条距左端的距离,也可以通过参数设置滚动左边的距离

$cr.show(); //表示display:block,

$cr.hide();//表示display:none;

$cr.toggle(); //切换元素的可见状态

网友解答:

如果一个元素身上原本有多个class,那么classNane=''就会清除所有的样式,可以用新增方法element.classList.add('name'),给元素添加class,同理,element.classList.remove('name'),会在多个class中删除name类名,element.classList.toggle('name'),则是判断,有就删除,没有就添加

标签: