【问题标题】:jQuery add 1 up with a php foreach loopjQuery 将 1 与 php foreach 循环相加
【发布时间】:2016-01-22 09:23:00
【问题描述】:

所以我有这个 php foreach-loop 从我的数据库中获取数据。
我使用$i++ 对相同的 div 进行编号。

$i=0;
foreach ($pages as $page){
    echo '<div class="class_'.$i++.'">
    echo '</div>';          
}

现在我的页脚中有一段 jQuery,它对 &lt;div&gt; 做了一些事情

<script>
jQuery(document).ready(function($){
    $('.class_1');
    $('.class_2');
    $('.class_3');
});
</script>

因为我永远不知道有多少实例,所以我希望 jQuery 与 foreach-loop 相加,但脚本在循环之外,所以它不会相加。

我真的不太了解我的 jQuery,所以任何帮助将不胜感激。

M.

【问题讨论】:

  • 为什么需要这个?类的全部意义在于将元素组合在一起。根据您的需要,最好在所有元素上放置一个类,然后在事件处理程序中使用 this 引用来引用引发事件的那个。
  • class 用于一组元素。你可以改为给他们一个具有不同 ID 号的类
  • 我明白你的意思,但每个类都有自己的功能和自己的 css。所以它并没有真正结合起来。它也可能是 id 的

标签: php jquery foreach count


【解决方案1】:

您可以使用该类获取每个元素,然后使用$.each

$('[class^="class_"]').each(function() {});

【讨论】:

    【解决方案2】:
    $i=0;
    foreach ($pages as $page){
        echo '<div class="class_'.$i++.'">';
        echo '</div>';          
    }
    echo '<div number-of-divs=' . $i . ' style="display:none;"/>';
    

    你的js代码:

    <script>
    jQuery(document).ready(function($){
        var number = $('div[number-of-divs]').attr('number-of-divs');
        for (i = 1; i <= number; i++) { 
            $('.class_' + i);
        }
    });
    </script>
    

    【讨论】:

      【解决方案3】:

      一个好的方法是你应该在你的代码中传递另一个类,或者只在上面是唯一的情况下传递它。 $('[class^="class_"]').each(function() {}); 这在某些情况下不起作用,所以使用下面的代码

      $i=0;
      foreach ($pages as $page){
          echo '<div class="catch_me  class_'.$i++.'">
          echo '</div>';          
      }
      

      并从此脚本中获取它

      $('.catch_me').each(function(){
      //You code here
      });
      

      【讨论】:

        猜你喜欢
        • 2013-04-26
        • 1970-01-01
        • 1970-01-01
        • 2015-02-20
        • 1970-01-01
        • 2016-09-26
        • 2012-07-19
        • 1970-01-01
        • 2011-07-12
        相关资源
        最近更新 更多