这就是我的工作:
function content() {
var dd = document.getElementById("stuff1")
dd.classList.toggle('disp');
}
<li onclick="content()"></li>
这就是我想要做的事情:
function content(x) {
var dd = document.getElementById("x")
dd.classList.toggle('disp');
}
<li onclick="content(stuff1)"></li>
但这不起作用。实现这个目标的正确方法是什么?
答案 0 :(得分:4)
更改这些:
var dd = document.getElementById("x");
<li onclick="content(stuff1)"></li>
对于这些:
var dd = document.getElementById(x); // here x instead of "x"
<li onclick="content('stuff1')"></li> // here 'stuff1' instead of stuff1
注意:引号中的任何名称(单个或双重无关)被视为字符串,不带引号作为变量......
答案 1 :(得分:0)
您可以尝试删除这样的引号: -
var dd = document.getElementById(x);
而不是:
var dd = document.getElementById("x")
答案 2 :(得分:0)
其他答案都正确地说明您需要从getElementById
来电中删除引号,以便:
var dd = document.getElementById(x);
但 还需要<{>>添加引号到content
处理程序正文中的onclick
来电:
<li onclick="content( 'stuff1' )"></li>
否则stuff1
被视为变量名而不是字符串。