2016-01-29 25 views
0

您好,我在获取存储在foreach循环中的div的id时遇到了问题。我想要做的是在jQuery中逐个获取id,因为id在php代码中循环。如何获取在jQuery变量中通过foreach循环div的id

<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>'; 
?> 
+0

你的代码有什么问题?它会抛出一个错误吗?它会返回不正确的结果吗? – vesan

+1

哪里是'cat-anchor' –

+0

不是它没有返回错误,它只是没有做任何事情。 – Coder

回答

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

尝试这个,你会得到对象的每个div,并以此作为你的愿望。

0

<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>

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

只是Google如何从jQuery中检索元素的属性。 .attr()函数将有所帮助。

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++; 
} 

,然后,同时在这里回显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>