gpt4 book ai didi

javascript - getElementByID().parentNode 返回 null

转载 作者:数据小太阳 更新时间:2023-10-29 06:08:51 30 4
gpt4 key购买 nike

出于某种原因,这发生得非常模糊。它有时有效,有时无效。同一行代码,对于同一父级下的不同“myid”,行 -

document.getElementById("myid").parentNode 返回 null。

我很确定元素“myid”不是根元素,它的父元素是一个需要返回的 DIV。我使用的是 Firefox 3.6.10 版本。

谁能提出这可能发生的任何原因?

编辑:这里的“myid”是某种文本框或任何其他控制元素。但是parentnode总是DIV。我们添加的任何控件总是包裹在 DIV 下。所以基本上当屏幕上的东西刷新时,我们得到父节点并替换 innerhtml。 innerhtml 可以是任何内容。

下面给出的是我的 html -

<div style="height: 334px; width: 769px; position: relative;">

<span style="display: inline-block; height: 13px; width: 61px; position: absolute; left: 393px; top: 84px;" bizappid="System856UserGroupAppPoint156d5elabel300" tabindex="-1" id="System856UserGroupAppPoint156d5elabel300">User Group</span>

<input type="text" style="height: 20px; width: 221px; position: absolute; left: 503px; top: 77px;" bizappid="System856UserGroupAppPoint156d5etextBox190" class="formtextbox" tabindex="400" id="System856UserGroupAppPoint156d5etextBox190" readonly="readonly" name="System856UserGroupAppPoint156d5etextBox190">
</div>

在此 Html 中,假设我为 Span 元素获取 ParentNode,但我没有为 Input 文本元素获取相同的 parentNode。还有一件更奇怪的事情是,我只是添加了一个检查,说明如果 getelementbyid 不为空,然后检查它的 parentNode。然后进一步添加如果 parentNode 不为 null 则进行刷新操作。现在控件不会进入 parentNode not null 条件。

最佳答案

如果页面上的两个或多个元素共享相同的“id”值,则 getElementById(可能)返回节点列表而不是 DOM 引用。节点列表实例没有“parentNode”属性。

不要为多个元素重复使用“id”值是这个故事的寓意。

关于javascript - getElementByID().parentNode 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3941939/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com