首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery获取动态id链接的id

jQuery获取动态id链接的id
EN

Stack Overflow用户
提问于 2011-08-16 19:15:57
回答 2查看 5.6K关注 0票数 3

我是jquery的新手,已经环顾了一整天,但还是不能理解一个非常简单的想法:)

下面是测试代码:

js:

代码语言:javascript
运行
复制
$(document).ready(function(){
    $('#transgenic_div').click(function(){
        var selected_transgenic_id = $(this).attr("id");
        alert(selected_transgenic_id);          
    });

});

html:

代码语言:javascript
运行
复制
<div id="transgenic_div">
<p><a class="transgenic_button" id="56">item number 56</a></p>
<p><a class="transgenic_button" id="57">item number 57</a></p> etc
</div>

这只是给出了警告"tansgenic_div“我正试图将选择的id传递给另一个函数--但现在只是用警告进行测试……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-16 19:25:22

如果我理解你的问题,你并不是真的想匹配主<div>,而是内部链接:

代码语言:javascript
运行
复制
$(document).ready(function(){
    $('#transgenic_div p a').click(function(){
        var selected_transgenic_id = $(this).attr("id");
        // Or simply: this.id
        alert(selected_transgenic_id);          
    });
});

(顺便说一句,有效的ID不能以数字开头,除非您使用的是HTML 5。)

完整工作示例:

代码语言:javascript
运行
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript"><!--
$(document).ready(function(){
    $('#transgenic_div p a').click(function(){
        alert(this.id);
    });
});//--></script>
</head>
<body>

<div id="transgenic_div">
<p><a class="transgenic_button" id="56">item number 56</a></p>
<p><a class="transgenic_button" id="57">item number 57</a></p> etc
</div>

</body>
</html>
票数 1
EN

Stack Overflow用户

发布于 2011-08-16 19:17:41

尝试从单击事件的target/source element获取ID:

代码语言:javascript
运行
复制
$('#transgenic_div').click(function(e){
    var selected_transgenic_id = $(e.target).attr("id"); // or e.target.id
    alert(selected_transgenic_id);          
});

另外,IDs should not start with numbers in HTML4,我建议使用前缀。

如果您只想使用此技术匹配锚点,则可以这样做:

代码语言:javascript
运行
复制
$('#transgenic_div').click(function(e){
    var t = e.target;
    if(t.tagName.toLowerCase() === "a") {
        var selected_transgenic_id = $(t).attr("id"); // or t.id
        alert(selected_transgenic_id);   
    }       
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7077334

复制
相关文章

相似问题

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