未找到动态Javascript HTML ID

时间:2017-06-30 02:49:48

标签: 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('+button_pressed_yes+')" >';

$(".custDataWindow1").append(tempTd);

在我的JS中:

    function addYes(btnname){   
    alert("hello from button " + btnname);  
}

错误:

  

(index):1未捕获的ReferenceError:未定义rec_btn_yes_2       在HTMLTableCellElement.onclick

1 个答案:

答案 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')"