我想要一个包含链接的div
。点击后,该链接应替换为<input type="text">
,但它不起作用。
任何其他HTML代码都有效,但出于某种原因,我无法用输入替换链接:
function working() {
document.getElementById("working").innerHTML = "<h1>Test</h1>";
};
function notworking() {
document.getElementById("notworking").innerHTML = "<input type="text">";
};
<div id="working">
<a onclick="working();" href="#">This works!</a>
</div>
<div id="notworking">
<a onclick="notworking();" href="#">This doesn't!</a>
</div>
<p>
Notice that the entire code doesn't work unless you comment out the "notworking()" function!
</p>
答案 0 :(得分:2)
您的嵌套引号需要单引号;
function notworking() {
document.getElementById("notworking").innerHTML = "<input type='text'>";
}
我已经这么多次这样做了哈哈,当在双引号内使用引号时总是使用单引号。
希望它有所帮助!
答案 1 :(得分:1)
这是因为这一行:
document.getElementById("notworking").innerHTML = "<input type="text">";
您使用双引号启动字符串,但在字符串中使用双引号。这会导致JavaScript中出现语法错误。如果在字符串中需要双引号,请在整个字符串周围使用单引号,反之亦然。
更改
document.getElementById("notworking").innerHTML = "<input type="text">";
到
document.getElementById("notworking").innerHTML = '<input type="text">';
答案 2 :(得分:0)
这样做。请注意text
document.getElementById("notworking").innerHTML = "<input type='text'>";