我想在jQuery中使用removeClass单击链接后删除一个类。但它对我不起作用。
<a href="#" onclick="xxx();"></a>// actually i have more complicated but to make it easy to see my problem.
**Original div**
<div class c1 c2 ></div>
**In javascript**
$("#"+arr[1]).removeClass(' c2').addClass('c3');
更新
<div id='001' class ='c1 c2'></div>
<div id='002' class ='c1 c2'></div>
<div id='003' class ='c1 c2'></div>
更新
// call cookie to deal with last clicked div.
var ca="mycookie"+user_id;
ca = new Array();
ca = document.cookie.split(';');
for (var w in ca)
NmeVal = new Array();
NmeVal = ca[w].split('cki_uid%3D302%26last_open_inbx%3D');
$('div[id="'+NmeVal[1]+'"]').removeClass('inbx_unread').addClass('inbx_unr_after_java_click');
我要说的是:我使用cookie记住最后一个cliked div。因为我有一个div调用选择div,必须在人们点击时一直更改。并且它必须在再次单击时删除旧类,依此类推。
就像facebook离开导航一样。在收件箱页面。
PS:对不起,我没有显示问题的开头部分,因为我的变量看起来很糟糕。
更新3完整代码
function call_inbox_data(user_id, recipient_id, sender_id, c_id, elm2hide, unread_msg, cr_id) {
//call cookie
var ca="myccokie"+user_id;
ca = new Array();
ca = document.cookie.split(';');
for (var w in ca)
NmeVal = new Array();
NmeVal = ca[w].split('cki_uid%3D302%26last_open_inbx%3D');
}
/////Here work perfect
if (unread_msg !="") {
for (var f in unread_msg){ //LOOP
if (unread_msg[f]!= c_id) {
$("#"+unread_msg[f]).addClass('inbx_unread'); //
}
}
}
// But not here I have changed many ways but none of them help.
$('div[name="'+NmeVal[1]+'"]').removeClass('inbx_unread');
$('div[name="'+NmeVal[1]+'"]').addClass('inbx_unr_after_java_click');
答案 0 :(得分:1)
根据您的评论,arr
是div的名称数组,然后尝试
$('div[name="'+arr[1]+'"]').removeClass('c2').addClass('c3');
OR
$('div[name="'+arr[1]+'"]').removeClass('c2');
$('div[name="'+arr[1]+'"]').addClass('c3');
如果arr是ids
的数组,那么请尝试
$('#'+arr[1]]).removeClass('c2').addClass('c3');