选择的数据不正确

Not right data is being selected

本文关键字:不正确 数据 选择      更新时间:2023-09-26

我在为聊天制作一个小表情符号系统时遇到了问题。我正在处理HTML的数据属性。因此,他们是不同的数据为每个表情符号。

这就是HTML部分

<div class="emoticons">
    <a href="#" data-emot=":)" class="emoticon"><img src="emots/emot-1.png" alt=":)" title=":)"></a>
    <a href="#" data-emot=";)" class="emoticon"><img src="emots/emot-2.png" alt=";)" title=";)"></a>
    <a href="#" data-emot=":(" class="emoticon"><img src="emots/emot-3.png" alt=":(" title=":("></a>
    <a href="#" data-emot=":D" class="emoticon"><img src="emots/emot-4.png" alt=":D" title=":D"></a>
    <a href="#" data-emot=":P" class="emoticon"><img src="emots/emot-5.png" alt=":P" title=":P"></a>
    <a href="#" data-emot="=)" class="emoticon"><img src="emots/emot-6.png" alt="=)" title="=)"></a>
    <a href="#" data-emot=":|" class="emoticon"><img src="emots/emot-7.png" alt=":|" title=":|"></a>
    <a href="#" data-emot="=|" class="emoticon"><img src="emots/emot-8.png" alt="=|" title="=|"></a>
    <a href="#" data-emot=">:|" class="emoticon"><img src="emots/emot-9.png" alt=">:|" title=">:|"></a>
    <a href="#" data-emot=">:D" class="emoticon"><img src="emots/emot-10.png" alt=">:D" title=">:D"></a>
    <a href="#" data-emot="o_O" class="emoticon"><img src="emots/emot-11.png" alt="o_O" title="o_O"></a>
    <a href="#" data-emot="=O" class="emoticon"><img src="emots/emot-12.png" alt="=O" title="=O"></a>
    <a href="#" data-emot="<3" class="emoticon"><img src="emots/emot-13.png" alt="<3" title="<3"><!--3--></a>
    <a href="#" data-emot=":S" class="emoticon"><img src="emots/emot-14.png" alt=":S" title=":S"></a>
    <a href="#" data-emot=":*" class="emoticon"><img src="emots/emot-15.png" alt=":*" title=":*"></a>
    <a href="#" data-emot=":$" class="emoticon"><img src="emots/emot-16.png" alt=":$" title=":$"></a>
    <a href="#" data-emot="=B" class="emoticon"><img src="emots/emot-17.png" alt="=B" title="=B"></a>
    <a href="#" data-emot=":-D" class="emoticon"><img src="emots/emot-18.png" alt=":-D" title=":-D"></a>
    <a href="#" data-emot=";-D" class="emoticon"><img src="emots/emot-19.png" alt=";-D" title=";-D"></a>
    <a href="#" data-emot="*-D" class="emoticon"><img src="emots/emot-20.png" alt="*-D" title="*-D"></a>
</div>

这是我的JS

/* Emoticons part */
$('a[href]').click(function(){
    var emot = $('.emoticon').attr('data-emot');
    $('#inputvalue').val($('#inputvalue').val() + emot);    
});

所以问题是,当我按下表情符号时,它需要给我:-)或;-)/(y) 。现在它一直给我这个:)。所以它一直给我名单上的第一个,有人能帮我吗?

提前非常感谢!英语不是我的母语,我为拼写错误的语法错误道歉:-)

使用this而不是".memoticon",因为你想要该链接的情感,而不是其他具有类"emoticon"

       $('a[href]').click(function(){
            var emot = $(this).attr('data-emot');
                $('#inputvalue').val($('#inputvalue').val() + emot);    
          });

只需更改

var emot = $('.emoticon').attr('data-emot');

到此:

var emot = $(this).attr('data-emot');