传递参数的最佳方式(非常简单的jquery/html)

传递参数的最佳方式(非常简单的jquery/html),jquery,html,Jquery,Html,我使用用户名创建多个按钮 <a id="message-' + onlineUsers[i].username + '"></a> 不知怎么的,我觉得这不合适。正确的方法是什么?您可以这样使用它: <!DOCTYPE html> <html> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="

我使用用户名创建多个按钮

<a id="message-' + onlineUsers[i].username + '"></a>

不知怎么的,我觉得这不合适。正确的方法是什么?

您可以这样使用它:

<!DOCTYPE html>
<html>
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title>Hello, world!</title>
  <style>
  </style>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script>
  $(function(){
      $('a[id^="message-"]').click(function () {
            //I need to get the username here
            var thisElem = jQuery(this);
            var lastItem = thisElem.attr("id").split("-").pop(-1);

            console.log(lastItem); //result "myusername"
        });
   });
</script>
</head>
<body>
       <a id="message-myusername">Click Me</a>
</body>
</html> 

你好,世界!
$(函数(){
$('a[id^=“message-”])。单击(函数(){
//我需要在这里获取用户名
var thisElem=jQuery(this);
var lastItem=thisElem.attr(“id”).split(“-”).pop(-1);
console.log(lastItem);//结果“myusername”
});
});
点击我

在名称标记中为每个标记指定相同的类和变量username,如下所示

<a class="yourClassName" name="' + onlineUsers[i].username+'"></a>

你可以使用数据。这是最常用的方法。并使用类来获取单击事件

<a class="message" data-username="' + onlineUsers[i].username + '"></a>

如果您不喜欢用破折号拆分,请像单击我一样使用它,这样您就可以像:var username=jQuery(this.attr(“ref”);无论哪种方法对你有效都是好的。有很多方法可以让它可行。你只要选一个,我们会让它可行的。
$('.yourClassName').click(function () {
     alert( $(this).attr('name') );
}
<a class="message" data-username="' + onlineUsers[i].username + '"></a>
$(".message").click(function() {
    var username = $(this).data("username");
});