2017-03-10 93 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');