tel*_*wap 0 javascript getelementbyid
我一直在学习关于函数、返回、id 和所有东西的非常简单的东西,所以我遇到了另一个看起来很简单的问题,但我不明白为什么会发生。检查此代码:
function test() {
var text = document.createTextNode("Hello");
text.id = "t";
}
var whatIjustwrote = window.document.getElementById("t");
alert(whatIjustwrote);?
Run Code Online (Sandbox Code Playgroud)
是否getElementById有限制只能查找全局项目?使该警报输出函数内的文本节点的方法是什么?
感谢您的任何评论。最近几天在这里问东西我学到了很多东西!
首先,getElementById只会返回一个element,并且您正在创建一个文本节点。
其次,它只会返回一个已添加到 DOM 的元素。您创建的节点不会被添加到 DOM 中,因此即使可以找到它也不会被找到。
最后,您实际上并没有调用该test函数,因此甚至不会在内存中创建文本节点。
这是一个更新的小提琴,演示了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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2092 次 |
| 最近记录: |