【问题标题】:dynamically add a table row with an onclick function使用 onclick 函数动态添加表格行
【发布时间】:2014-11-18 06:13:17
【问题描述】:

是否可以将“id”参数传递给“onclick”函数?

 for (var i = 0; i < items.length; i++)
             {
             var row = table.insertRow(0);
             row.onclick = (function() {
             var id = items[i].id;// here!
             });
             var cell = row.insertCell(0);
             cell1.innerHTML = items[i].title;
             }

当我点击行时,它说项目未定义,我明白为什么,所以我在询问其他方法来获取 onclick 函数中的 id 参数。 另外我正在考虑将 id 值保留在隐藏单元格中

【问题讨论】:

  • 我们不知道项目是什么,也许this问题有帮助
  • 这个问题没有意义......应该考虑澄清......
  • "items" 是具有 id 和 title 属性的对象数组
  • 试试 console.log(items[i]) 并向我们展示输出,也会有所帮助。
  • 如果您可以使用 jQuery,那么这里就是您问题的答案。 stackoverflow Answer

标签: javascript html


【解决方案1】:

如果不使用 jQuery,我会按照以下方式做一些事情:

for (var i = 0; i < items.length; i++) {
    var row = table.insertRow(0);
    row.setAttribute("data-myID", items[i].id);
    row.onclick = (function() {
        console.log(this.getAttribute("data-myID"));
    });
    var cell = row.insertCell(0);
    //cell1.innerHTML = items[i].title;
}

这里是完整的小提琴:http://jsfiddle.net/hztkzcya/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 2019-05-05
    相关资源
    最近更新 更多