我以前从来没有遇到过这个问题,但是当我尝试编辑div的内容时,我正在使用PHP,这个div的内容直接来自于数据库中的产品ID,这样就分为两个foreach获取当前正确的ID)因为我需要将它们分开,所以当我可以更改内容时,我可以修改它以便我可以进行第二次DIV显示:默认情况下没有,并且在点击第一个显示内容后:内联:
<div id="h<?php echo $obra['id'] ?>" onClick="display()"> </div> // Getting ID h + 84 (h84) this time
<div id="<?php echo $obra['id'] ?>"> TEST TEXT</div> // Getting ID 84 this time)
功能是:
function display() {
var result = document.getElementById("84").innerHTML;
result.innerHTML = "test";
alert(result);
}
现在,当我点击第一个DIV时,它应该获得ID为84的div的内容,即&#34; TEST TEXT&#34;,然后将其更改为&#34; test&#34;并更改我在浏览器中看到的内容,然后使用新的结果值进行提醒,但内容不会更改,并且警报会显示“TEST TEXT”。
如果需要,以下是完整的相关代码:
<div class="row m-0">
<div class="accordion pl-0 col-4 text-center">
<?php if ( count($cuadros) == 0) { ?>
<p class="text-center mt-3">No hay cuadros registrados.</p>
<?php } else {
$cont = 0;
foreach ( $cuadros as $obra ) { ?>
<div class="card border-top-0 border-left-0 rounded-0 p-0">
<div class="card-header border-0" id="h<?php echo $obra['id'] /* it gets value "84" */ ?>" onClick="display()">
<h5 class="mb-0">
<?php echo $obra['nombreObras']; ?>
</h5>
</div>
</div>
<?php $cont++; } ?>
</div>
<?php foreach ( $cuadros as $obra ) { ?>
<div class="col-4 hidden" id="<?php echo $obra['id'] /* It gets value "84" */ ?>">
TEST TEXT
</div>
<?php } ?>
<?php } ?>
</div>
以及所发生情况的屏幕截图(请注意,更改应反映在警报中,不是)
谢谢!
答案 0 :(得分:3)
您正在执行innerHTML
agin。所以它会返回错误。从结果中删除innerHTML
function display() {
var result = document.getElementById("84");
result.innerHTML = "test";
alert(result);
}