JS - getElementById在创建的元素上

时间:2015-10-19 20:14:20

标签: javascript getelementbyid

我试图在另一个元素中找到一个带有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似乎很自然。

2 个答案:

答案 0 :(得分:4)

DOM元素上没有getElementById方法。 id必须是唯一的。因此,您可以使用document.getElementById轻松找到它。

为什么在childElement变量中已有元素时尝试获取id?

答案 1 :(得分:0)

事实证明,对于不在文档中的元素,你不能得到元素。(

解决方案是添加一个if / else条件来检查元素是否在正文中,以便在两种情况下都能获得所需的结果。

Saddly添加了几行代码。它并不重要但是使用getElementById()似乎很自然,因为像getElementsByClassName()这样的其他函数可以在这些情况下工作。也许有一天......