js----数组处理之splice(有js原始addClass方法哦)
上次写了一个轮播的方法:http://blog.csdn.net/stronglyh/article/details/46833499
由于别人问我的时候,给了我html。于是乎我就看到了页面中引用了jquery,所以就用jquery写了,今天细想了下jquery中有一个addClass方法。不知道传统的js能否够使用搞定呢。
<html>
<style>
.font_class {
color:#FF0000;
font-weight:bold;
}
</style> <script language="javascript">
function addClass(cc) {
var obj = document.getElementById('span_1');
var c_class = obj.className;
if(c_class == "") {
obj.className = cc;
} else {
// var reg = /^(.*?)font_1(.*?)$/i;
// new RegExp("(^|\\s)"+className+"(\\s|$)")
var reg = new RegExp("(^|.*?)" + cc + "(.*?)");
if(c_class.match(reg)) {
return;
} else {
c_class += ' ' + cc;
obj.className = c_class;
}
}
} function removeClass(cc) {
var obj = document.getElementById('span_1');
var c_class = obj.className; if(c_class == "") {
return;
} else {
var has_c = false;
var a = c_class.split(" ");
var l = a.length;
for(var i=0;i<l;i++) {
if(a[i] == cc) {
has_c = true;
break;
}
}
if(has_c) {
a.splice(i,1);
obj.className = a.join(" ");
}
}
}
function hasClass(cc) {
var obj = document.getElementById('span_1');
var c_class = obj.className; var reg = new RegExp("(^|.*?)" + cc + "(.*?)");
if(c_class.match(reg)) {
alert('此class已经存在啦,^_^');
} else {
alert('此class还不存在哦,^_^');
}
}
</script> <span id="span_1" class="kaishi">o(∩_∩)o...哈哈</span><br /> <input type="button" onclick="addClass('font_class');" value="点我添加class">
<input type="button" onclick="removeClass('font_class');" value="点我删除class"> </html>
当中在删除的时候使用了splice方法
对于这种方法,总共同拥有三个比較经常使用的使用方法,具体解说下:
1.删除-用于删除元素,两个參数,第一个參数(要删除第一项的位置),第二个參数(要删除的项数)
2.插入-向数组指定位置插入随意项元素。三个參数。第一个參数(事实上位置),第二个參数(0),第三个參数(插入的项)
3.替换-向数组指定位置插入随意项元素,同一时候删除随意数量的项,三个參数。第一个參数(起始位置),第二个參数(删除的项数),第三个參数(插入随意数量的项)
var lang = ["php","java","javascript"];
//删除
var removed = lang.splice(1,1);
alert(lang); //php,javascript
alert(removed); //java ,返回删除的项
//插入
var insert = lang.splice(0,0,"asp"); //从第0个位置開始插入
alert(insert); //返回空数组
alert(lang); //asp,php,javascript
//替换
var replace = lang.splice(1,1,"c#","ruby"); //删除一项。插入两项
alert(lang); //asp,c#,ruby
alert(replace); //php,返回删除的项
那么如今大家应该知道怎么使用了吧。突然发现还是jquery比較方便啊。
js----数组处理之splice(有js原始addClass方法哦)的更多相关文章
- JS数组slice()和splice()的区别
以前还是纯小白的时候,总会搞混JS数组的 slice() 和 splice() 方法.因为这2个方法名字太像了,就差一个字母,语法也有类似之处. 现在久了没用,有时候也会忘记,所以做一个总结来区 ...
- Js数组的操作push,pop,shift,unshift等方法详细介绍
js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧.不过不会针对每个方法进行讲解,我只是选择其中的一些来讲. 首 先来讲一下push和pop方法,这两个方法只会对数组从尾 ...
- js 数组的深度拷贝 的四种实现方法
首先声明本人资质尚浅,本文只用于个人总结.如有错误,欢迎指正.共同提高. --------------------------------------------------------------- ...
- js数组删除(splice和delete)
最近一直在写js的数组,然后就发现了很奇怪的问题,后来才发现了规律. 删除数据的一行,一般有两种方法,一个是splice,一个是delete: splice:删除了数组后,数组的长度会自动变化.用法: ...
- js中slice、splice、substr、split方法
1.slice 可用于数组与字符串,返回一个新的数组,原数组不改变,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素. 在string中 slice(start,e ...
- JS数组at函数(获取最后一个元素的方法)介绍
本文介绍js中数组的at函数,属于比较简单的知识普及性文章,难度不大. 0x00 首先,我们可以思考如下一个问题,如果要获取一个数组的最后一个元素(这是很常用的操作),我们应该怎么做? 相信大部分人能 ...
- js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip
push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( ite ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- [jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)
--------------------------------------------------------------------------------------------------- ...
随机推荐
- 移动开发 meta元素
meta标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务. SEO优化: &l ...
- yum常用选项和参数
列举包文件 # yum list #列出资源库中所有可以安装或更新的rpm包 # yum list updates #列出资源库中所有可以更新的rpm包 # yum list installed #列 ...
- Task及Mvc的异步控制器 使用探索
微软的Task已经出来很久了,一直没有去研究,以为就是和Thread差不多的东西.直到最近看到了Task的使用介绍,发现比Thread的语法要精炼多了,于是便在项目中用上了. 结果就出问题了,数据库连 ...
- java 中 针对数组进行的工具类
1.遍历数组的方法: public static void printfArray(int[] arr) 2. 获取数组中最大值: public static int getMax(int[] ar ...
- httpwebrequest 用GET方法时报无法发送具有此谓词类型的内容正文
如下一段小程序,运行结果报无法发送具有此谓词类型的内容正文的错误,其实原因很简单,因为用的是GET的方式进行提交,而GetRequestStream()是用来在post提交的时候写post的内容的流, ...
- ASP.NET没有魔法——ASP.NET MVC 过滤器(Filter)
上一篇文章介绍了使用Authorize特性实现了ASP.NET MVC中针对Controller或者Action的授权功能,实际上这个特性是MVC功能的一部分,被称为过滤器(Filter),它是一种面 ...
- Nginx+Tomcat+Redis实现持久会话
使用开源web应用solo blog进行项目演示.前端使用Nginx作为负载均衡器,后端Tomcat连接Redis实现session存储.Redis的特点就是可以将session持久化.样才能真正实现 ...
- linux服务器使用yum安装nginx
一,安装nginx和php-fpm yum install nginx php-fpm 二, 找到nginx.conf find / -name nginx.conf 三,添加解析php配置 在ser ...
- javaScript(JS)强制保留两位小数的输入数校验和小数保留
参考来源于网络,如有侵权,请联系作者删除: 输入input 的格式校验: $(function(){ var data = $.trim($("#inputId").val()); ...
- 【原创精品】程序员最强大的利器——电子笔记本的思考(1)(ver0.3)
[原创精品]程序员最强大的利器,本文以下内容全都是作者EverStenis(胡佳吉)的原创,未经授权不得转载,抄袭必究. 我想问大家一个问题,对于我们程序员来说,在我们的武器工具库中,最强大的一件利器 ...