如何在 Javascript 中使用 getElementById 获取动态 id?

8

我需要在Javascript中的document.getElementById中获取一个动态值。

然而,当我放置一个变量时,它不起作用,像这样:

var = myVar;
myVar = 'test';

document.getElementById(myVar);

如何实现这个?非常感谢。

3
如果您的页面中只有一个ID为“test”的元素,那么这应该有效。 - Oded
3个回答

7
你的语法有误。
这样写:
var = myVar;

should be:

var myVar;

所以你会有:

var myVar;
myVar = 'test';

document.getElementById(myVar);

然后您可以将代码放置在 onload 中,以确保元素可用。

示例: http://jsfiddle.net/kARDy/

window.onload = function() {

    var myVar;
    myVar = 'test';

    var element = document.getElementById(myVar);

    alert(element.innerHTML);
};

它的运行非常完美,但当我从Map对象中获取变量并从中通过id获取元素时,它不起作用。 - Azhar Uddin Sheikh

2

如果您在元素呈现后执行操作,例如在window.load回调、DOM准备就绪或在HTML中将脚本放置在元素之后,则可以正常运行。

window.onload = function() {
    var el = 'bla'; document.getElementById(el).style.display='none';
}

1

你应该有这个等于号吗?应该是这样的:

var myVar = 'test';
document.getElementById(myVar);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接