开发者问题收集

按钮创建功能代码错误无法定位

2016-04-10
41

我是新网站,我试图寻找答案,但无法(如果有人知道帖子的位置可以帮助它)解决问题...

我正在尝试创建一个按钮系统,它将根据数组中的信息添加新按钮,我不断获取要输入的新信息,因此想必会加快输入和更新速度。

 <!DOCTYPE html>
 <html>
 <head>
   <title> Function Test </title>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
   <script>

    var textNum = ["<b>O</b>ne", "<b>T</b>wo", "three", "four", "five"];
    var i;
    var build = "";
    function callText(a) {

            document.getElementById("demo").innerHTML = textNum[a];
    }

    </script>   
   </head>

    <body>
      <button onclick = "callText(0)"> 1 </button>
      <button onclick = "callText(1)"> 2 </button>
      <button onclick = "callText(2)"> 3 </button>
      <button onclick = "callText(3)"> 4 </button>
      <button onclick = "callText(4)"> 5 </button>
      <p id="demo"></p>

      <br>
      <br>
      <p id="createbutton"></p>
      <p id="displayHere"></p>
    <script>
      var newText =[1, 2];
      var i;
      var build = "";
      function display(a) {
           document.getElementById("displayHere").innerHTML = newText[a];
       };


      for (i = 0; i < newText.length; i++) {

            build +="<button onclick = \\display(i)\\>" + newText[i] + "</button>" ;
        };
        document.getElementById("createbutton").innerHTML = build;
      </script>

   </body>
      </html>

未捕获的语法错误:意外的令牌非法函数 test.html:46

(它突出显示了 final /script 上的 >

它创建了按钮,但出现了 错误 任何想法

2个回答

您的代码存在 2 个问题:

1) “\\display(i)\\” 有什么问题?您想做什么?

2) 您不能在此处生成的 HTML 中使用“i”。您需要插入 i 的值

例如:

build += "<button onclick=\"display(" + i + ")\">" + newText[i] + "</button>" ;
jlowcs
2016-04-10

build 将包含“按钮 onclick=\display(i)...

您需要将 onclick 处理程序放在引号内,如下所示:

build +="<button onclick = 'display(i)'>" + newText[i] + "</button>" ;
Poul Bak
2016-04-10