js----數組處理之splice(有js原始addClass方法哦)

來源:互聯網
上載者:User

標籤:js addclass   js splice   js 數組處理   js 數組元素刪除   js 數組元素插入   

上次寫了一個輪播的方法: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方法哦)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.