我正在尝试根据cookie和变量列表注入属性及其值。
Cookie具有数值,并且设置没有问题:
function setCookie(key, value) {
var expires = new Date();
expires.setTime(expires.getTime() + (1 * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}
function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}
现在我有一个文本列表,应根据cookie值动态更改。
var myDynamicTexs = {
1: "AAAA",
2: "BBBB",
3: "CCCC",
}
我需要根据cookie数值获取文本。我可以使用:
获取cookie值var myText = getCookie('myCookie')
但我似乎无法在任何地方看到属于cookie值的文本。
我需要文本值有两个目的:
1)将它们显示为网站上显示的文字:
$('#myelement1').html('code to grab the text')
这会产生如果cookie值为1,#myelement1将打印:
<p id='myelement1'>AAAA</p>
2)将它们用作元素属性的值:
$('div')attr.('id','code to grab the text')
如果Cookie值为2,则<div>
将变为:<div class="BBBB">
我尝试过以下但是没有工作:
$('div').attr('class', myDynamicTexs[(getCookie('myCookie'))]);
它需要是JavaScript或JQuery,因为我无法修改原始HTML模板。
任何提示?
答案 0 :(得分:0)
$('div').attr('class', myDynamicTexs[**(**getCookie('myCookie')**)**]);
赢了
$('div').attr('class', myDynamicTexs[getCookie('myCookie')]);
因为myDynamicTexs是一个数组?