jquery 如何动态添加、删除class样式

如题所述

第1个回答  2020-04-29
例如使用attr()方法来获取p元素的class,JQuery代码如下:var
p_class
=
$("p").attr("class");
//获取p元素的class使用attr()方法来设置p元素的class,JQuery代码如下:1
$("p").attr("'class",
"high");
//设置p元素的class为
"high"
在大多数情况下,它是将原来的class替换为新的class,而不是在原来的基础上追加新的class。追加样式
什么是追加class呢?假如p元素原本的class为myClass,那么追加一个名叫high的class后,class属性变为
“myClass
high”,即myClass和high两种样式的叠加。JQuery提供了专门的addClass()方法来追加样式。为了使例子更容易理解,首先在
style标签里添加另一组样式:1
.high{
color:red;
}
2
.another{
font-style:italic;
color:blue;
}
然后在网页中添加一个“追加class类”的按钮,按钮的事件代码如下:1
$("#btn_3").click(function(){
2
$("#nm_p").addClass("another");
//
追加样式
3
});
最后当单击“追加class类”按钮时,p元素样式就会变为斜体,而先前的红色字体也会变为蓝色。此时p元素同时拥有两个class值,即"high"和"another"。在CSS中有以下两条规定。1.如果给一个元素添加了多个class值,那么就相当于合并了它们的样式。
2.如果有不同的class设定了同一样式属性,则后者覆盖前者。
在上例中,相当于给p元素添加了如下样式:1
color
:
red;
/*
字体颜色设置红色*/
2
font-style:italic;
3
color:blue;
在以上的样式中,存在两个“color”属性,而后面的“color”属性会覆盖前面的“color”属性,因此最终的“color”属性的值为“blue”,而不是“red”。移除样式
如果用户单击某个按钮时,要删除class的某个值,那么可以使用与addClass()方法相反的removeClass()方法来完成,它的
作用是从匹配的元素中删除全部或者指定的class。例如可以使用如下的JQuery代码来删除p元素中值为“high”的class:1
$("p").removeClass("high");
//移除p元素中值为"high"的class
如果要把p元素的两个class都删除,就要使用两次removeClass()方法,代码如下:1
$("p").removeClass("high").removeClass("another");
JQuery提供了更简单的方法。可以以空格的方式删除多个class名,代码如下:1
$("p").removeClass("high
another");
另外,还可以利用removeClass()方法的一个特性来完成同样的效果。当它不带参数时,就会将class的值全部删除,JQuery代码如下:1
$("p").removeClass();
//移除p元素的所有class
切换样式
JQuery中有一个方法toggle(),JQuery代码如下:
1
toggleBtn.toggle(function(){
2
//元素显示
代码③
3
},
function(){
4
//元素隐藏
代码④
5
})
toggle()方法此处的作用是交替执行代码③和代码④两个函数,如果元素原来是显示的,则隐藏它:如果元素原来是隐藏的,则显示它。此时,toggle()方法主要是控制行为上的重复切换。另外JQuery还提供了一个toggleClass()方法控制样式上的重复切换。如果类名存在则删除它,如果类名不存在则添加它。例如对p元素进行toggleClass()方法操作。1
$("p").toggleClass("another");
//重复切换类名“another”
当不断单击“切换样式”按钮时,p元素的class的值就会在“myClass”和“myClass
another”之间重复切换。判断是否含有某个样式
hasClass()可以用来判断元素中是甭含有某个class,如果有,则返回true,否则返回false。例如可以使用下面的代码来判断p元素中是否含有“another”的class:1
$("p").hasClass("another");
这个方法是为了增强代码可读性面产生的。

JS脚本:jquery 如何动态添加、删除class样式方法介绍
移除样式 如果用户单击某个按钮时,要删除class的某个值,那么可以使用与addClass()方法相反的removeClass()方法来完成,它的 作用是从匹配的元素中删除全部或者指定的class。例如可以使用如下的JQuery代码来删除p元素中值为“high”的class:复制代码代码如下:1 $("p").removeClass("high"); \/\/移除p...

jquery 如何动态添加、删除class样式方法介绍
这个要看你的条件是怎么样的。添加删除class addClass("className") removeClass("className")

jquery动态添加css样式(jq动态添加样式)
jquery动态添加下拉框选项设置下拉框样式怎么做啊1、可以动态添加多个下拉框,可减少下拉框选中第一个下拉框的任意一个值,同时第三个下拉框的值跟着改变,显示对应的数据。ps:what?光动态添加就足以。。赋值还不能直接赋,而是添加下拉时就赋值。。2、点击#ca时,检查有没有options_loaded=1,有就不...

jquery点击加class在点击移除添加的class
('#test').toggleClass('className');上面的代码将会依次为id为test的元素添加\/删除名为className的class,如果test元素存在className,则删除className,如果不存在则添加className。toggleClass的用法如下:在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性...

jquery创建元素(jQuery创建元素并设置样式)
jquery向DIV动态添加元素1、通过jquery给元素动态添加样式运用addClass和removeClass即可。首先在html中准备jquery库文件,并且准备一个div元素,如下图所示。2、然后在style标签里声明一个class样式,如下图所示。3、接下来准备一个事件加载初始化的方法,在jquery中直接用匿名函数即可,如下图所示。4、然后...

jquery 点击增加样式,点击移除样式
jquery 点击增加样式,点击移除样式,代码如下:("li").click(function(){ (this).toggleClass("enable");(this).siblings().removeClass("enable");})

怎样在jquery点击事件点击元素添加和移除class?
1、removeClass()定义和用法:removeClass() 方法从被选元素移除一个或多个类。如果没有规定参数,则该方法将从被选元素中删除所有类。2、addClass()定义和用法:addClass() 方法向被选元素添加一个或多个类。该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性。如需添加多个类...

jquery 点击当前添加一个样式,在次点击取消这个样式,
1、首先打开hbuilder编辑器,在html文件中写入5个li标签,第一个li标签设置class样式,再在上方设置li标签的高度、宽度、字体大小、行高的等属性,再设置第一个li标签的样式,给它加一个外边框。2、然后在下方先引入jQuery的库文件,在script标签中先用$选择器得到li标签的dom对象并给li标签设置一个点击...

利用jquery改变指定元素的class样式
("#daohang > a").click(){ $("#daohang > a").attr("class",""); $(this).attr("class","shouye");} <!-- 望采纳谢谢! 意思是给点击的超链接添加样式, 方法是先移除之前的样式,然后重新给点击的超链接添加样式.--> ...

jquery 动态添加的addClass无效用$(".class")调用 是这样吗?
不明白在说什么.(".className")可以进行查找的。(".className").addClass("className");你要干嘛?

相似回答