首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取使用jquery附加的单击超链接的Id

如何获取使用jquery附加的单击超链接的Id
EN

Stack Overflow用户
提问于 2014-08-23 07:31:55
回答 1查看 228关注 0票数 0

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

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-23 07:36:40

在您的代码中,听起来您有以下内容:

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

在代码运行之后,添加另一个链接,但是单击它不会触发上面的处理程序。这是因为上面的代码将事件挂在运行时存在的元素上;因为您添加的链接不存在,所以它的click事件没有上钩。

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

代码语言:javascript
复制
$("selector for container").on("click", "selector for links", function() {
    // Using this.id here
    return false;
});

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

具体例子:

代码语言:javascript
复制
$(document).on("click", "a", function() {
    alert(this.id);
    return false;
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25459547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档