我使用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('+button_pressed_yes+')" >';
$(".custDataWindow1").append(tempTd);
在我的JS中:
function addYes(btnname){
alert("hello from button " + btnname);
}
错误:
(index):1未捕获的ReferenceError:未定义rec_btn_yes_2 在HTMLTableCellElement.onclick
答案 0 :(得分:1)
您需要将button_pressed_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);
现在,生成的onclick的生成值类似于以下内容:
onclick="addYes(rec_btn_yes_2)"
rec_btn_yes_2
变量,不存在。这就是您需要将其作为字符串传递的原因,因此生成的结果如下所示:
onclick="addYes('rec_btn_yes_2')"