javascript - innerHTML 未在 DOM 中显示,控制台中没有错误

标签 javascript innerhtml getelementbyid

这可能是一些微不足道的问题,但我似乎无法弄清楚。 document.getElementById 选择我尝试写入数据的 tspan,但没有显示任何内容。代码如下。 var%AS 设置为 71,工作正常。控制台中没有错误。请注意,这是我的代码的最小化版本,文档中实际上还有更多内容。

<body>
    <text id="data" fill="white" x="460" y="160">
        {{signups.[0]}} -
        <tspan id="percentAS"></tspan>
    </text>
</body>

<script>
    document.getElementById("percentAS").innerHTML = percentAS + "%";
</script>

我尝试将一些数据记录到控制台以查看发生了什么:

console.log(document.getElementById("percentAS")); 

这会在错误控制台中返回:

tspan#percentAS.[object SVGAnimatedString]
  innerHTML: "71%"
  __proto__: SVGTSpanElementPrototype

编辑其他人要求提供更多上下文,但我确信没有任何内容干扰我上面粘贴的内容,否则我会添加更多上下文。这只是一些基本的 sgv 多边形,读起来非常痛苦,因为它们有很多点,这就是为什么我没有包括它们。

编辑 2 看来我的问题是 Safari 网络浏览器特有的,因为我在 Chrome 和 Firefox 中打开它并且它工作得很好。尽管我发现了几年前的几篇博客文章详细介绍了类似的问题,但我找不到 Safari 与此相关的任何已知问题。

最佳答案

看起来这是 Safari Web 浏览器本身的问题,而不是代码的问题。我改用 jQuery 来做这件事:

 $("#percentAS").append(percentAS + "%");

它在所有浏览器中都运行良好。

关于javascript - innerHTML 未在 DOM 中显示,控制台中没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874187/

相关文章:

javascript - 正确使用setState方法

javascript - 类型错误 : Cannot read property 'tigerStart' of undefined

javascript - 使用 JavaScript 在 div 中添加/删除 HTML

php - IE 中的innerHTML?

javascript - 具有 ID 的 DOM 树元素是否成为全局属性?

javascript - javascript 中的 getElementByID [对象 HTMLSpanElement]

javascript - 如何使用 window.open() 快速访问我网站的根目录?

javascript - 动态更改 Bootstrap 进度条

jquery - 通过 ID 使用元素而不先声明 ID