数组名称中的removeClass对我不起作用

时间:2013-09-02 06:01:59

标签: javascript jquery

我想在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');

1 个答案:

答案 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');