gpt4 book ai didi

javascript - getElementById 函数内部的某些内容,但来自外部

转载 作者:行者123 更新时间:2023-11-28 11:38:15 24 4
gpt4 key购买 nike

我一直在学习关于函数、返回、id 等非常简单的东西,所以我遇到了另一个看起来很简单的问题,但我不明白为什么会发生。检查此代码:

function test() {
var text = document.createTextNode("Hello");
text.id = "t";
}


var whatIjustwrote = window.document.getElementById("t");
alert(whatIjustwrote);​

getElementById 是否有仅查找全局项目的限制?使该警报输出函数内的文本节点的方法是什么?

感谢您的任何评论。最近几天在这里问问题我学到了很多东西!

JSFiddle

最佳答案

首先,getElementById只会返回一个元素,并且您正在创建一个文本节点。

其次,它只会返回已添加到 DOM 中的元素。您创建的节点不会添加到 DOM 中,因此即使可以找到也不会找到它。

最后,您实际上并没有调用 test 函数,因此文本节点甚至没有在内存中创建。

这是一个updated fiddle演示了 getElementById 实际工作:

function test() {
var text = document.createElement("span"); //Create an element
text.innerHTML = "Hello";
text.id = "t";
document.body.appendChild(text); //Add it to the DOM
}

test(); //Invoke the function (so the element actually gets created)
var yourElement = document.getElementById("t"); //Get reference to element

关于javascript - getElementById 函数内部的某些内容,但来自外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13269353/

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