JS - getElementById 在创建的元素上

JS - getElementById on created element

我正在尝试在另一个元素中查找具有 getElementById 的元素。这两个元素都是用 JS 创建的,还没有附加到正文中。遗憾的是,我收到以下错误:myElement.getElementById 不是函数.

这是我正在尝试做的一个例子。有没有办法让它起作用?

parentElement = document.createElement("div");
childElement = document.createElement("div");
childElement.id = "child";
parentElement .appendChild(childElement);

myElement = parentElement.getElementById("child");

对于更详细的示例,这正是我正在尝试做的事情:我正在从头开始制作日期选择器(对于 funz),并且我有一个显示月份和年份的元素。您可以更改月份和年份,因此我需要在发生这种情况时更改此元素的 innerHTML。与其重新创建整个日历,我认为只更改日期和 month/year 标签会更简洁。为此,使用 getElementById().innerHTML 似乎很自然。

DOM 元素上没有 getElementById 方法。 id 必须是唯一的。所以你可以使用 document.getElementById.

轻松找到它

childElement 变量中已有元素时,为什么要尝试通过 id 获取元素?

事实证明,对于不在文档中的元素,您无法使用 getElementById()。

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

遗憾地添加了几行代码。这没什么大不了的,但使用 getElementById() 似乎很自然,因为 getElementsByClassName() 等其他函数在这种情况下也能正常工作。也许有一天...