如何在jquery变量中通过foreach获取div的id

时间:2016-01-29 05:11:22

标签: php jquery

你好,我在获取存储在foreach循环中的div的id时遇到了麻烦。我想要做的是在jquery中逐个获取id,因为id在php代码中循环。

<script>
    $(document).ready(function(){
        $(".cat-anchor").click(function(){
            var target=('get the id of cat-title class here')
        });
    });
</script>
<?php
foreach($cat_arr['cat_pro'] as $cat_name){
echo "<div class='cat-back'>";
echo "<a href='#".$cat_name[0]."' class='cat-anchor'>".$cat_name[1]."</a> <br>";
echo "</div>";
}

    foreach($cat_arr['cat_pro'] as $mykey=>$myvalues){
        echo '<div name="'.$myvalues[1].'" class="cat-title" id="'.$myvalues[0].'">
        <h2>'.$myvalues[1].'</h2></div>';
?>

4 个答案:

答案 0 :(得分:0)

&#13;
&#13;
<div class="cat-title" id="1"></div>
<div class="cat-title" id="2"></div>
<div class="cat-title" id="3"></div>
<div class="cat-title" id="4"></div>
<input type="button" class="cat-anchor" value="get ids">

<script type="text/javascript" src="jquery.js"></script>
<script>
    $(document).ready(function(){
        $(".cat-anchor").click(function(){
          var target='';
          var divs = $(".cat-title");
          for (var i = 0; i < divs.length; i++) {
            target += divs[i].id;
          };
          alert(target);
        });
    });
</script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

<script>
    $(document).ready(function(){
        $(".cat-anchor").click(function(){
            $(".cat-title").each(function(index, element) {
                var target=$(this).attr("id");
            });
        });
    });
</script>

尝试此操作后,您将为每个div获取对象,并根据需要使用它们。

答案 2 :(得分:0)

<script>
    $(document).ready(function(){
        $(".cat-anchor").click(function(){
            var target = $(this).attr('id');
        });
    });
</script>

Google就如何从jQuery中检索元素的属性。 .attr()功能会有所帮助。

答案 3 :(得分:0)

首先定义一个变量,该变量递增直到循环完成,并在id="your-div-name'.$i.'"附加相同的变量,如下所示

$i=1

foreach($cat_arr['cat_pro'] as $mykey=>$myvalues){
    echo '<div name="'.$myvalues[1].'" class="cat-title'.$i.'" id="'.$myvalues[0].'">
    <h2>'.$myvalues[1].'</h2></div>';
    $i++;
}

然后在编写脚本时只执行循环,因为prev循环执行的次数,同时在此处回显div的数字。希望这很清楚!

<script>
$(document).ready(function(){
   $(".cat-anchor").click(function(){
 <?php
   for($j=0;$j<=$i;$j++){
           echo 'var target=document.getElementById("cat-title'.$j.'").innerHTML;'; 
 }
  ?>

    });
});
</script>