当多个元素时,jquery选择器不会工作

Bod*_*els -3 javascript foreach jquery

我的jquery选择器有点问题.当我只有一个列表项时,jquery代码工作正常.但是当我有多个时,请chatid拥有第一个列表项的值.为什么我总是第一个列表项的id?

我的html和foreach循环:

   <ul data-role="listview" id="uItem1" data-inset="true">
    <?php foreach ($result as $keyres => $rowres): ?>

        <li><a class="chat" id="<?php echo $rowres['id']; ?>" href="accept.php">chat</a></li>

        <?php endforeach; ?>
    </ul>
Run Code Online (Sandbox Code Playgroud)

我的jquery:

$("#uItem1 > li > a").click(function() {
    var chatid = $("#uItem1 > li > a").attr('id');

    $.ajax({ url: 'read.php',
     data: {chatid},
     type: 'POST',
     success: function(output) {
                //  alert(output);
              }
    });                     

   }); 
Run Code Online (Sandbox Code Playgroud)

Moh*_*sef 7

你需要使用 $(this)

var chatid = $(this).attr('id');
Run Code Online (Sandbox Code Playgroud)

虽然你在PHP中使用foreach来生成元素,但你可能需要

$("#uItem1").on('click',' > li > a',function() {
Run Code Online (Sandbox Code Playgroud)

正如@Rory在评论中提到的,你可以使用 this.id