0

在 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来记住最后点击的div。因为我有一个 div 调用选择的 div 必须在人们点击时一直更改。并且在再次单击时必须删除旧类,依此类推。

就像脸书离开导航一样。在收件箱页面中。

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');
4

1 回答 1

1

根据您的评论,这arr是 div 的名称数组,然后尝试像

$('div[name="'+arr[1]+'"]').removeClass('c2').addClass('c3');

或者

$('div[name="'+arr[1]+'"]').removeClass('c2');
$('div[name="'+arr[1]+'"]').addClass('c3');

如果 arr 是一个数组,ids那么试试

$('#'+arr[1]]).removeClass('c2').addClass('c3');
于 2013-09-02T06:06:01.213 回答