问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用javascript为元素添加class?

发布网友 发布时间:2022-04-22 12:53

我来回答

1个回答

热心网友 时间:2023-10-14 13:22

以给 body 标签添加 class 为例

通过 jQuery

$( 'body').addClass( 'class1 class2' );
$( 'body' ).removeClass( 'class1 class2' );

支持 classList 的高级浏览器(IE10+,Chrome,Firefox,Safari)

document.body.classList.add( 'class1', 'class2' );
document.body.classList.remove( 'class1', 'class2' );

不支持 classList 的浏览器只能通过 className 来添加

document.body.className += ' cl

[1]直接把样式赋值给className

var odiv=document.getElementById('div1');

odiv.className= div3

//这样我们会得到 class ="div3" 会直接把div2样式给覆盖掉;

[2]使用累加赋值给className

var odiv=document.getElementById('div1');

odiv.className+=" "+div3    //样式和样式之间需要空隙 ,所以加个空字符串隔开

//这样可以得到 class="div2 div3" 可以正常增加,但是我们在添加样式的时候我们得考虑下他本身之前有没有同名的样式,如果有我们添加的话就会变成累赘 比如class="div2 div3 div3";

[3]检测样式原先之前是否有相同的样式

var odiv=document.getElementById('div1'); 

function hasClass(element,csName){

element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正则检测是否有相同的样式



}  

[4]在[3]的基础上我们就可以进行判断性给元素添加样式了     

var odiv=document.getElementById('div1'); 

function hasClass(element,csName){

return  element.className.match(RegExp('(\\s|^)'+csName+'(\\s|$)')); //使用正则检测是否有相同的样式

} 

function addClass(element,csName){

if(!hasClass(element,csName)){

element.className+=' '+csName;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年四川570分能考上什么大学? 2024年四川文科560分能考上什么大学? 2024年广东561分能考上什么大学? 2024年江苏历史类561分能考上什么大学? 在形ABC中,角A.B.C所对的边分别为a.b.c,且acosB+bcosA=2c cos 求... ...B、C的对边分别为a、b、c,已知acosB+bcosA=2(bcosC+ccosB).(1... ...b、c的对边分别为a、b、c,且acosb+bcosa=2cosc 在△ ABC中,角A、B、C所对的边分别为a、b、c,已知b=cosA,c=2cosB,试... 在△ABC中,角A,B,C所对的边分别为a,b,c,且满足bcosA+acosB=2ccosC,△... ...对应的边分别为a、b、c,且满足aCOSB+bcosA=2cCOSC... 怎样通过JS来为网页元素添加CSS样式 JS:怎样给数组内的元素添加样式? js 元素添加方法 js 动态添加元素(div、li、img等)及设置属性的方法 怎么用js在某个元素节点中添加元素 不知道该怎么给自己设计发型怎么办 想给自己设计个发型 如何为自己设计发型 怎样设计一个适合自己的发型 如何自己给自己设计发型? 怎样设计发型 如何给自己设计发型 怎样为自己设计发型最好? 直播可以用视频会议软件吗 怎么做个适合自己的发型 怎样根据自己脸型设计最适合自己的发型? Twoo是哪个国家的软件 怎么设计适合自己的发型 怎么样才能给自己设计一个好发型??? 自己怎么给自己设计发型 jquery中有哪些dom操作 .html() js方法 加入多个标签 怎么用JS给一个HTML元素增加一个属性和值 js中如何操作数组?添加多个元素 如何通过js给某个元素设置样式 关于js向网页元素添加内容的问题 怎样写个性签名? 如何使用js在元素之前插入一个新元素? 如何快速学会个性签名呢?教你学会自己的签名 如何用js创建元素? JS给相同元素加上相同事件 javascript如何在div的后面添加一个其他的元素 自己的个性签名怎么写李雪英? JavaScript中如何用append方法插入一个元素? 香煎小鲫鱼怎么做如何做好吃 如何签自己的名字才好看? 煎小鲫鱼的做法,煎小鲫鱼怎么做好吃,煎小鲫鱼 怎样才能写好自己的个性签名 孜然小鲫鱼的做法,香煎孜然小鲫鱼怎么做好 C语言怎么表示9x9的乘法表