Javascript 函数调用在链接中不起作用

标签 javascript jquery

我尝试从链接调用自定义函数,但不知何故它不起作用。不弹出警报。帮助赞赏!这是我的代码:

$.each(data.Tables, function(i, data){
    link = '<a href="#" onclick=test()>' + data.tableName + '</a>';
    tr.append("<td>" + link + "</td>");
    tr.append("<td>" + data.rowCount + "</td>");
    $("#tablesTable").append(tr);
});

这是我的功能:

function test (){
    alert("Doesn't work");
}

如果我将链接行更改为此,单击链接后会出现警报。

link = '<a href="#" onclick=alert()>' + data.tableName + '</a>';

最佳答案

JavaScript 在 HTML 属性中没有位置。 jQuery 实际上可以将事件处理程序绑定(bind)到元素,即使它们不在 DOM 中,所以我建议您这样做:

$.each(data.Tables, function(i, data){
    var $link = $('<a></a>', { // Create a new jQuery object
        href: '#',
        html: data.tableName
    }).click(function(){
        // Your code here...
        alert("Doesn't work");
    });

    // We can't use '+' since $link is no longer a string
    tr.append($link.wrap('<td></td>').parent());

    tr.append("<td>" + data.rowCount + "</td>");

    $("#tablesTable").append(tr);
});

这使用 jQuery 创建 <a>标签,然后使用 .click()绑定(bind)事件。

关于Javascript 函数调用在链接中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878269/

相关文章:

javascript - 垂直和水平对齐 Angular Material

javascript - jQuery 克隆表单提交不起作用

jquery - 仅选择 LI 项的 UL 子项

javascript - 使用 Redux 在 React 中调度 Action 的问题

javascript - 传单圈子和点击事件加载新页面

jquery - Materialize 和 jquery 事件 onChange

jquery - 在 'font-size' 动画之后动画到 textWidth

javascript - 使用Javascript制作按钮,制作新的Javascript

javascript - Chrome浏览器: Cannot launch python code visualizer

javascript - 在 Javascript 中递归调用函数?