我试图在另一个元素中找到一个带有getElementById的元素。这两个元素都是用JS创建的,尚未附加到正文中。遗憾的是,我收到以下错误: myElement.getElementById不是函数。
这是我想要做的一个例子。有没有办法让它发挥作用?
parentElement = document.createElement("div");
childElement = document.createElement("div");
childElement.id = "child";
parentElement .appendChild(childElement);
myElement = parentElement.getElementById("child");
对于一个更详细的例子,这正是我想要做的事情:我正在从头开始制作一个日期选择器(用于funz),我有一个显示月份和年份的元素。您可以更改月份和年份,因此我需要在发生这种情况时更改此元素的innerHTML。我没有重新创建整个日历,而是认为只更改日期和月/年标签会更清晰。为此,使用getElementById()。innerHTML似乎很自然。
答案 0 :(得分:4)
DOM元素上没有getElementById
方法。
id
必须是唯一的。因此,您可以使用document.getElementById
轻松找到它。
为什么在childElement
变量中已有元素时尝试获取id?
答案 1 :(得分:0)
事实证明,对于不在文档中的元素,你不能得到元素。(
解决方案是添加一个if / else条件来检查元素是否在正文中,以便在两种情况下都能获得所需的结果。
Saddly添加了几行代码。它并不重要但是使用getElementById()似乎很自然,因为像getElementsByClassName()这样的其他函数可以在这些情况下工作。也许有一天......