【问题标题】:How do I add an input form when clicking an HTML link using javascript? [duplicate]使用 javascript 单击 HTML 链接时如何添加输入表单? [复制]
【发布时间】:2017-04-01 05:36:32
【问题描述】:

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

【问题讨论】:

  • 请在问题中包含所有代码
  • 您的拼写错误导致语法错误。当某些东西“不起作用”时,您应该至少查看调试控制台是否有任何错误。

标签: javascript html


【解决方案1】:

正是因为这一行:

document.getElementById("notworking").innerHTML = "<input type="text">";

您以双引号开始字符串,但在字符串中使用双引号。这会导致您的 JavaScript 出现语法错误。如果您需要在字符串中使用双引号,请在整个字符串周围使用单引号,反之亦然。

改变

document.getElementById("notworking").innerHTML = "&lt;input type="text"&gt;";

document.getElementById("notworking").innerHTML = '&lt;input type="text"&gt;';

【讨论】:

    【解决方案2】:

    这样做。注意text 周围的引号

    document.getElementById("notworking").innerHTML = "<input type='text'>";
    

    【讨论】:

      【解决方案3】:

      嵌套引号需要单引号;

      function notworking() {
      document.getElementById("notworking").innerHTML = "<input type='text'>";
      }
      

      我已经这样做了很多次了哈哈,在双引号中使用引号时总是使用单引号。

      希望对你有帮助!

      【讨论】:

      • 哦,哈哈,谢谢,有道理!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2013-04-18
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      相关资源
      最近更新 更多