我有以下代码。这里当我点击一个a
标签我只想获得this element id
。但e.target
选择下一个元素可以解释一下
$(document).ready(function(){
function doaction(e) {
var eve, id;
eve = $(e.target);
id = eve.attr('id');
alert(id);
}
$(".delete").click(function(e) {
doaction(e);
});
});
<div class="delete" id="del/one"><a href="javascript:void(0);" id="delete/1" >one</a></div>
<div class="delete" id="del/two"><a href="javascript:void(0);" id="delete/2">two</a></div>
<div class="delete" id="del/three"><a href="javascript:void(0);" id="delete/3" >three</a></div>
for demo
答案 0 :(得分:2)
您的jsFiddle链接正常。只是为了解释,点击事件位于div
,而不是a
。因此,如果您点击a
,您将获得该ID,但如果您点击div
内部,而不是a
,则会获得{{1} ID,而不是div
ID。由于a
位于a
内,因此点击它会触发事件。
答案 1 :(得分:2)
e.target
为您提供了点击的实际元素。
要获取您为其注册处理程序的元素,请使用this
。
答案 2 :(得分:0)
当你这样做时:$(“。delete”)。点击(function(e){
你正在获取DIV的点击事件,其中一个类被命名为“删除”
如果您想要点击A标签,则必须将“删除”类放在标签上并生成以下代码示例:
$(“a.delete”)。click(function(){// Code here})
答案 3 :(得分:0)
它适用于我。但是,如果您遇到一些问题,可能需要在代码中修复ID。 ID
属性的值必须以AZ或az范围内的字母开头,后跟字母(A-Za-z),数字(0-9),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。
答案 4 :(得分:0)
尝试这个...
$(document).ready(function(){
function doaction(e) {
var eve, id;
eve = $(e.target.parentNode);
id = eve.attr('id');
alert(id );
}
$(".delete").click(function(e) {
doaction(e);
});
});
e.target为你提供了被点击的实际元素,而div是该元素的父元素,所以......使用e.target.parentNode
获取div id ..
希望这会有所帮助..