js添加样式class
来源:互联网 发布:键盘改键软件 编辑:程序博客网 时间:2024/06/02 07:12
最近在看js,好好打基础才是王道,底层的东西不容忽视。
Js添加样式名,在用jQuery的时候很容易的一个add和remove就能解决的问题,但是用js该怎么样处理呢,刚看了一篇文章,菜鸟级的《JavaScript初学者应注意的七个细节》,原文地址
http://developer.51cto.com/art/201101/242546_2.htm 里面有一段就写了这样一个东西:修改样式名,我稍微做了下扩展。
一、
function addclass(elm,newclass){ var c = elm.className; if(c!="") elm.className=newclass;}
写个函数然后传入对象元素跟样式名字,判定是否为空,如果不为空就赋值样式名字;
二、
function addclass(elm,newclass){ var c = elm.className; elm.className = (c =="") ? newclass : c+' '+newclass;}
写个函数然后传入对象元素跟需要添加到样式名字,判定是否为空,如果为空就赋值,否则就加个空格再赋值;
三、
function addclass(elm,newclass){ var classes = elm.className.split(' '); classes.push(newclass); elm.className = classes.join(' '); }
传入对象元素跟样式名字,然后把elm.className看成用“ ”(空格)分割的字符串,用split去除空格变成数组,然后用push方法添加样式到数组中,用join添加空格变成字符串再赋值给元素的class,很独特很棒的方法。
然而,我觉得有点不足,假如元素本来就有newclass这类名,那怎么办?就像这样:
然后我想添加个div2类给这个div,如果用第三种方法,虽然不会出错,但页面显示会变成这样
,于是我用第四种方法:**四、**
function zhen(obj,claName){ var cla=obj.className.split(" "); for(var i=0;i<cla.length;i++) { if(cla[i]==claName) return; } cla.push(claName); obj.className=cla.join(" ");}
继承第三种方法的优势,在其基础上做了个循环判定,保证没有重复的名字存在。
0 0
- js添加样式class
- js实现class的样式的修改、添加、删除
- JS添加或修改控件的样式(Class)
- 动态添加、删除class样式
- js 控制样式添加
- js动态添加class
- js添加class属性
- js改变class的样式
- class 样式的添加,删除,切换 【选择器】
- jquery 动态添加、删除class样式
- jquery动态添加、删除class样式
- jquery动态添加、删除class样式
- jquery动态添加,删除class样式
- JQuery动态添加/删除class样式
- JS给元素添加样式
- js为字符串添加样式
- cssText实现js添加样式
- ie8:js 添加样式
- Happy Number - LeetCode 202
- 关于GPU的几点建议
- 使用spark streaming报错ERROR DFSClient: Failed to close inode xxxx
- Making URLs Friendly
- Oracle:SQL(关联查询)
- js添加样式class
- C结构体与C++结构体的区别&&C++结构体与C++类的区别
- std::all_of
- ExtJs xtype一览
- python sql 语句构造
- cf 340C 差值递推
- JAVA递归--归并排序
- 第三章第32题
- 基姆拉尔森公式(Kim Larson)