使用javascript单击HTML链接时如何添加输入表单?

时间:2016-11-17 15:33:43

标签: javascript html

我想要一个包含链接的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>

3 个答案:

答案 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'>";