• 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比較方便啊。


    
  • 相关阅读:
    计算机网络基础
    OA项目(MVC项目)
    修改XML的节点内容
    项目实战-电商(网上书城)
    DataTables ajax bootstrap 分页/搜索/排序/常见问题
    DNS服务器解析域名的过程
    bootstrap 模态框
    QuickChm 制作chm文档 chm文档脚本错误,乱码
    poi 读取word文档
    commons -lang(2) RandomStringUtils RandomUtils
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6708684.html
Copyright © 2020-2023  润新知