innerHTML更新值,但HTML呈现不会更改

时间:2016-09-19 10:12:02

标签: javascript html ajax

我误解了JS行为,我想更新HTML中的td内容。所以我创建了一个onclick属性的锚点。

当我更新.innerHTML时,内容会在javascript端更新,但不会呈现。我不明白为什么。

<td class="data" id="<?php echo 'data_'.$_data['code']; ?>">A value</td>
document.getElementById("data_sku").innerHTML = "myNewValue";

在此之后,我的HTML渲染不会改变,但是当我使用

document.getElementById("data_sku").textContent

我得到"myNewValue";

我对JS / Ajax行为不满意,只是我不明白为什么在这种情况下,它不起作用,但在其他情况下,它可以工作。

1 个答案:

答案 0 :(得分:2)

我可以假设您在文档中有多个具有相同ID的元素。

在这种情况下,您只更改并首先获取脚本,但是您可以在另一个屏幕上查看,因此不会发现脚本中没有可观察到的更改。

&#13;
&#13;
document.getElementById("data_sku").innerHTML = "New content";
console.log(document.getElementById("data_sku").textContent);
&#13;
<div id="data_sku" style="display: none;">First</div>
<div id="data_sku">Second</div>
&#13;
&#13;
&#13;