你好,我在获取存储在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>';
?>
答案 0 :(得分: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>
&#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>