我使用foreach循环来获得一些具有不同id的制表符。这样我就得到了id为tab1、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
}
?>
将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
}
?>