innerHTML的内容是" undefined"

时间:2018-03-26 12:35:49

标签: javascript php

我以前从来没有遇到过这个问题,但是当我尝试编辑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>

以及所发生情况的屏幕截图(请注意,更改应反映在警报中,不是Image

谢谢!

1 个答案:

答案 0 :(得分:3)

您正在执行innerHTML agin。所以它会返回错误。从结果中删除innerHTML

function display() {
    var result = document.getElementById("84");
    result.innerHTML = "test";
    alert(result);
}