未找到动态Javascript HTML ID
我正在使用javascript动态创建未找到动态Javascript HTML ID,javascript,jquery,html,Javascript,Jquery,Html,我正在使用javascript动态创建td元素。我正在分配来自for循环的ID。我无法启动onclick,因为找不到id是一个错误。如果我查看页面,它就在那里 var button_pressed_yes = 'rec_btn_yes_'+i; var tempTd = '<td class="cust-data-row-yes" style="height:40px;width:10%; id="rec_btn_yes_' +i+'" onclick="addYes('+butto
td
元素。我正在分配来自for循环的ID。我无法启动onclick,因为找不到id是一个错误。如果我查看页面,它就在那里
var button_pressed_yes = 'rec_btn_yes_'+i;
var tempTd = '<td class="cust-data-row-yes" style="height:40px;width:10%; id="rec_btn_yes_' +i+'" onclick="addYes('+button_pressed_yes+')" >';
$(".custDataWindow1").append(tempTd);
错误:
(索引):1未捕获引用错误:未定义rec_btn_yes_2
在HTMLTableCellElement.onclick
您需要将
按钮\u按下\u yes
括在引号中以字符串形式传递:
var button_pressed_yes = 'rec_btn_yes_'+i;
var tempTd = '<td class="cust-data-row-yes" style="height:40px;width:10%; id="rec_btn_yes_' +i+'" onclick="addYes(\''+button_pressed_yes+'\')" >';
$(".custDataWindow1").append(tempTd);
rec\u btn\u yes\u 2
变量不存在。这就是为什么需要将其作为字符串传递,因此生成的结果如下所示:
onclick="addYes('rec_btn_yes_2')"
看起来您的
addYes()
函数正在尝试向具有内联onclick=
处理程序的同一元素添加额外的单击处理程序。如果是这样,那就没有意义了:它应该直接调用alert()
。此外,您不需要通过元素ID来允许选择元素,因为如果您通过此
,您已经有了对元素的引用。您的逻辑中有一个基本缺陷-一旦您修复了缺少的问题“
对于样式和函数调用所需的引号,每次单击该单元格时,都会向该单元格添加另一个单击事件处理程序onclick=“addYes(this)”
并将addYes更改为使用元素而不是ID。。。一旦你解决了这个问题,重新思考整个过程,因为没有逻辑上的理由去做你正在做的事情是的,我真正需要的是传递的实际id号。起初,我只通过了I
。它可能看起来多余的方式,我显示它。是的,这修复了我现在看到的错误。但是,点击没有触发。你对此有什么想法吗?style=“高度:40px;宽度:10%;id
-看看怎么会缺少一个”
?
onclick="addYes(rec_btn_yes_2)"
onclick="addYes('rec_btn_yes_2')"