gpt4 book ai didi

Javascript 为什么这个简单的计数器不能在我的循环中工作

转载 作者:行者123 更新时间:2023-11-28 16:32:46 28 4
gpt4 key购买 nike

我有一个名为“button”的函数,它使用循环附加 m 表。我修改了循环,以便为每个 <td> 分配一个 ID它使。但是,它似乎运行不正常。

这里它正在运行,请按照下面的用例来测试它:http://jsfiddle.net/JEAkX/19/

这是我用来测试它的一个简单用例:

  1. 更改单元格中的字母
  2. 按“更多”
  3. 更改新单元格之一中的字母

如果 ID 分配正确,它的功能应该与原始单元格相同。

计数器是:var n = 13;

并将其插入到附加单元格中,如下所示:

cell.innerHTML = "<input type='text' id='r"+ (n) +"' size='1' onChange='getPos('r"+ (n++) +"'), modifyCells('alphabetTable')' value='" + subset[i++] + "' />"`

这是我得到的 DOM 源:

<td><input id="r13" size="1" onchange="getPos(" r14="" ),="" modifycells(="" alphabettable="" )="" value="q" type="text"></td>
<td><input id="r14" size="1" onchange="getPos(" r15="" ),="" modifycells(="" alphabettable="" )="" value="r" type="text"></td>

我怀疑这与将所有内容都塞进一行有关,就像 @zzzzBov 所说的那样,但我不知道还能怎么做。

最佳答案

除了 n++ 之外,您的 HTML 中还存在引用问题。 onchange 属性中有嵌套的单引号,如下所示:

<input type='text' id='r19' size='1' onChange='getPos('r20'), modifyCells('alphabetTable')' value='p' />

语法的快速修复是使用转义双引号,这样您就可以开始: cell.innerHTML = "<input type='text' id='r"+ n +"' size='1' onChange='getPos(\"r"+ (n++) +"\"), modifyCells(\"alphabetTable\")' value='" + subset[i++] + "' />"

关于Javascript 为什么这个简单的计数器不能在我的循环中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5255403/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com