如何获取使用jquery附加的点击的超链接ID

时间:2014-08-23 07:31:55

标签: javascript jquery html hyperlink

我使用append()方法附加到html页面的超链接,它是一个超链接列表,我得到了所有其他元素id由this.id,但是我不能为附加行,为什么会发生这种情况?有没有其他方法可以追加?

提前致谢

1 个答案:

答案 0 :(得分:0)

听起来你的代码中的某个地方就是这样:

$("selector for links").on("click", function() {
    // Using this.id here
    return false; // Since they're links I assume you do this or e.preventDefault();
});

并且在该代码运行之后,您添加了另一个链接,但是单击它不会触发上面的处理程序。那是因为上面的代码将事件挂钩在运行时存在的元素上;由于您添加的链接不存在,因此其点击事件未被挂钩。

您可以使用事件委派来解决此问题,方法是将上面的代码更改为:

$("selector for container").on("click", "selector for links", function() {
    // Using this.id here
    return false;
});

该钩子点击一个包含链接的容器,但会触发处理程序,就好像该事件已挂钩在各个链接上一样。因此,由于事件挂钩在容器上,即使添加新链接,也会收到事件。

具体例子:

$(document).on("click", "a", function() {
    alert(this.id);
    return false;
});