Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中处理php for循环中对元素的单击_Php_Jquery - Fatal编程技术网

在jquery中处理php for循环中对元素的单击

在jquery中处理php for循环中对元素的单击,php,jquery,Php,Jquery,我一直在尝试将jquery click事件与php for循环中的一个元素一起使用。如何在单击之前将计数器值转移到jquery 我的PHP代码: <?php $counter=0;foreach($a as $abc){$counter++;?> <div id="mail_<?php echo $counter;?>" class="ma" /> <?php }?> 在jquery中单击之前如何使用此计数器变量。为什么在单

我一直在尝试将jquery click事件与php for循环中的一个元素一起使用。如何在单击之前将计数器值转移到jquery

我的PHP代码:

<?php $counter=0;foreach($a as $abc){$counter++;?>
        <div id="mail_<?php echo $counter;?>" class="ma" />
   <?php }?>
在jquery中单击之前如何使用此计数器变量。

为什么在单击之前使用?在下面的示例中,您将获得单击元素的计数器值

$(".ma").on('click', function(e) {
  var counter = $(this).attr('id').split('_')[1];
});
请注意,您可以在不使用id的情况下执行相同的操作,因为计数器从0开始,只需逐个递增

  $(".ma").on('click', function(e) {
     var counter = $(this).index();
    });

如果需要计数器的最终值,可以使用
$(“.ma”).length

示例:完整HTML代码。只需在浏览器中复制、粘贴和运行。[在RafH溶液中使用]

<html>
    <head>
       <title>jQuery Test</title>
    <style type="text/css">
    div { color:blue; margin:3px; cursor:pointer; }
    </style>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
     <script type="text/javascript">

    $(document).ready(function() {
     $(".ma").click(function() {
      var counter = $(this).attr('id').split('_')[1];
      alert("Counter ID "+counter);
    });
    }); 

    </script>
    </head>
    <body>
        <?php 
        for($counter=1;$counter<=10;$counter++)
        {
        ?>
        <div id="mail_<?php echo $counter;?>" class="ma" />Test</div>
       <?php 
       }
       ?>

    </body>
</html>

jQuery测试
div{颜色:蓝色;边距:3px;光标:指针;}
$(文档).ready(函数(){
$(“.ma”)。单击(函数(){
var counter=$(this.attr('id').split('uu')[1];
警报(“计数器ID”+计数器);
});
}); 

点击前意味着什么?Onload本身?我怎么才能得到那个计数器变量值??parseInt(element.getAttribute('id'))?为什么您甚至需要这个呢?jquery如何识别单击了哪个元素??$(“.ma”)表示类为“ma”的所有元素。在此选择器的click事件处理程序中,$(this)引用当前单击的“.ma”元素。
<html>
    <head>
       <title>jQuery Test</title>
    <style type="text/css">
    div { color:blue; margin:3px; cursor:pointer; }
    </style>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
     <script type="text/javascript">

    $(document).ready(function() {
     $(".ma").click(function() {
      var counter = $(this).attr('id').split('_')[1];
      alert("Counter ID "+counter);
    });
    }); 

    </script>
    </head>
    <body>
        <?php 
        for($counter=1;$counter<=10;$counter++)
        {
        ?>
        <div id="mail_<?php echo $counter;?>" class="ma" />Test</div>
       <?php 
       }
       ?>

    </body>
</html>