我使用foreach循环来获取一些具有不同id的标签。这样我就可以使用id标签1,tab2,tab3等获得标签。当我想使用javascript获取每个标签的id时,它只返回第一个标签的id并将其用于所有标签。它不像php那样循环。为什么?
<?php
foreach ($DB_con->query($foos) as $foo) {
?>
<div id='tab<?php echo $counter_foo; ?>'>
<div id="divid" style="visibility: hidden"><?php echo $counter_foo; ?></div>
<script>
$(document).ready(function() {
var dividvalue = document.getElementById('divid').innerHTML;
alert(dividvalue);
});
</script>
<?php
}
?>
答案 0 :(得分:0)
将HTML中的id
更改为class
,并在JavaScript中使用getElementsByClassName
代替getElementById
。
你的div:
<div class="divid"> <!-- etc -->
和你的JS ..
var dividvalue = document.getElementsByClassName('divid')[0].innerHTML;
另外,请考虑将divid
更改为divclass
以保持一致性。
完整编辑的代码:
<script>
var i = 0;
</script>
<?php
foreach ($DB_con->query($foos) as $foo) {
?>
<div id='tab<?php echo $counter_foo; ?>'>
<div class="divclass" style="visibility: hidden"><?php echo $counter_foo; ?></div>
<script>
$(document).ready(function() {
var divclassvalue = document.getElementsByClassName('divclass')[i].innerHTML;
alert(divclassvalue);
i++;
});
</script>
<?php
}
?>