2014-11-14 42 views
-1

我不想在頁面加載後更改類。如何在我的項目中添加類cookie。如何通過javascript添加類cookie?

HTML 紅 綠色

<div class="red">Testing Text1</div> 
<div class="red">Testing Text2</div> 

CSS

.red{ 
    color: red; 
    font-weight: bold; 
} 
.green { 
    color: green; 
    font-weight: bold; 
}` 

的Javascript

function changeClass(value) { 
    var color1 = 'red'; 
    var color2 = 'green'; 
    if (value == 2) { 
     color1 = 'green'; 
     color2 = 'red'; 
    }; 

    var elems = document.getElementsByClassName(color1); 
    var i = elems.length; 
    while (i--) { 
     var item = elems[i]; 
     if (hasClass(item, color1)) { 
      removeClass(item, color1); 
      addClass(item, color2); 
     } 
    }; 
    return false; 
}; 

function hasClass(ele, cls) { 
    return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')); 
} 

function addClass(ele, cls) { 
    if (!hasClass(ele, cls)) ele.className += " " + cls; 
} 

function removeClass(ele, cls) { 
    if (hasClass(ele, cls)) { 
     var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)'); 
     ele.className = ele.className.replace(reg, ' '); 
    } 
} 
+0

你需要添加什麼類? –

+0

Sry.i想添加cookie。不上課。 – user3675191

回答

0

對於JS

function setCookie(cname, cvalue, exdays) 
    { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires="+d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; 
    } 

加入餅乾對於JS

function getCookie(cname) 
{ 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0; i<ca.length; i++) { 
    var c = ca[i]; 
    while (c.charAt(0)==' ') c = c.substring(1); 
    if (c.indexOf(name) != -1) return c.substring(name.length,c.length); 
} 
    return ""; 
} 

越來越餅乾現在,你可以使用這個Funcations任何地方在你的代碼,並調用它。

+0

我不能工作這個功能。我的項目樣本是http://jsfiddle.net/xgmx11dt/ – user3675191

+0

其中添加cookie到我的項目。 – user3675191

+0

我的意思是,在單擊「綠色」時,整個元素中的所有類名都是「綠色」,然後不會在頁面佈局之後更改類名。 – user3675191