2017-03-10 88 views
0

我需要更新兩個數據值。 當我用class .messageconv單擊一個div時,獲取data-unread_mess_n值並從data-menutop_mess_nr和相同的data-unread_mess_n中減去它。
如果data-menutop_mess_nr == 0的值更改該類。
我無法更新data-unread_mess_n和data-menutop_mess值爲什麼?通過jquery更新數據值


 

 
$(document).on('click touchstart', '.messageconv', function(e) { 
 
\t \t e.preventDefault(); 
 
\t \t messagesNumber($(this)); 
 

 
\t }); 
 
function messagesNumber(elem) { 
 
\t \t var numMess = elem.parent().data('unread_mess_n'); 
 
\t \t var numMessMenutop = $('#menutop_mess_nr').data('menutop_mess_nr'); 
 
\t \t if (numMess != 0) { 
 
\t \t \t elem.children('p').remove(); 
 
\t \t } 
 
\t \t var remainingMess = numMessMenutop - numMess; 
 
\t \t $('#menutop_mess_nr').html(remainingMess); 
 
\t \t if (remainingMess == 0) { 
 
\t \t \t $('#menutop_mess_nr').addClass('bluecount').removeClass('redcount'); 
 
\t \t } 
 
\t \t elem.parent().data('unread_mess_n','0'); 
 
\t \t $('#menutop_mess_nr').data('menutop_mess_nr',remainingMess); 
 
\t \t 
 
\t }
.messageconv{ 
 
    border: 2px solid red; 
 
    height: 50px; 
 
    
 
    } 
 
.redcount { 
 
    background: #de2424; 
 
    width:30px; 
 
    } 
 

 
.bluecount { 
 
    background: #333399; 
 
    width:30px; 
 
    } 
 

 
    .redcount:hover { 
 
    background: #ed4747; 
 
    text-decoration: none; 
 
    }
 <script src="http://code.jquery.com/jquery-latest.min.js"></script> 
 
    <a data-unread_mess_n="2" href="5"> 
 
<div class="messageconv"> 
 
    test 
 
<p class="incmessage redcount">2</p></div> 
 
</a> 
 
<a data-unread_mess_n="3" href="4"> 
 
<div class="messageconv"> 
 
test1 
 
<p class="incmessage redcount">3</p></div> 
 
</a> 
 
<p data-menutop_mess_nr="5" id="menutop_mess_nr" class="incmessage redcount">5</p>

+1

使用'$( '#menutop_mess_nr')ATTR( '數據menutop_mess_nr',remainingMess);' – guradio

+0

@guradio 10很奇怪我在這裏看到我的代碼工程。如果我添加$('#menutop_mess_nr')。attr('data-menutop_mess_nr',remainingM ess);在我自己的完整代碼中崩潰了 –

回答

0

你可以試試這個

elem.parent().attr('unread_mess_n','0');