【问题标题】:innerHTML update value but HTML rendering isn't changed [closed]innerHTML 更新值,但 HTML 呈现未更改 [关闭]
【发布时间】:2017-01-26 23:46:16
【问题描述】:

我误解了一个 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 行为不满意,只是我不明白为什么在这种情况下,它不起作用,但在其他一些情况下,它起作用了。

【问题讨论】:

  • 试试document.getElementById("data_sku")
  • 1.问题代码中的印刷错误太多。 2. minimal reproducible example 没有php,拜托。 3.多个元素同一个id?

标签: javascript html ajax


【解决方案1】:

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

在这种情况下,您只更改并进入脚本中的第一个,但是您可以在另一个屏幕上查看屏幕,因此从脚本中看不到任何更改。

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

【讨论】:

  • 谢谢你的回答,我在 HTML 代码中发现了这个 id 的另一个出现。
猜你喜欢
  • 2015-10-29
  • 2012-09-28
  • 2020-11-18
  • 2012-01-22
  • 1970-01-01
  • 2021-08-10
  • 1970-01-01
  • 1970-01-01
  • 2021-05-02
相关资源
最近更新 更多