Jquery 为什么event.target选择下一个元素
我有以下代码。在这里,当我单击一个Jquery 为什么event.target选择下一个元素,jquery,Jquery,我有以下代码。在这里,当我单击一个a标记时,我只想获得此元素id。但是e.target选择下一个元素有人能解释吗 $(document).ready(function(){ function doaction(e) { var eve, id; eve = $(e.target); id = eve.attr('id'); alert(id); } $(".delete").click(functio
a
标记时,我只想获得此元素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>
$(文档).ready(函数(){
函数doaction(e){
var-eve,id;
eve=$(e.target);
id=eve.attr('id');
警报(id);
}
$(“.delete”)。单击(函数(e){
作用(e);
});
});
演示
您的JSFIDLE链接工作正常。只是解释一下,单击事件在
div
上,而不是在a
上。因此,如果你点击a
,你会得到该ID,但是如果你点击div
内部,而不是a
,你会得到div
ID,而不是a
ID。因为a
在div
内部,点击它会触发事件。你的jsFiddle链接工作正常。只是解释一下,单击事件在div
上,而不是在a
上。因此,如果您单击a
,您将获得该ID,但是如果您在div
内单击,而不是在a
上单击,您将获得div
ID,而不是a
ID。因为a
位于div
内,单击该按钮将触发事件。e.target
为您提供所单击的实际元素
要获取为其注册处理程序的元素,请使用
this
e.target
提供单击的实际元素
要获取为其注册处理程序的元素,请在执行此操作时使用this
:$(“.delete”)。单击(函数(e){
您将获得一个名为“delete”的类的DIV的click事件
如果您不想点击某个标记,则必须在标记上添加“delete”类,并制作以下代码示例:
$(.delete”)。执行此操作时,请单击(function(){//Code here}):$(.delete”)。单击(function(e){
您将获得一个名为“delete”的类的DIV的click事件
如果您不想点击某个标记,则必须在标记上添加“delete”类,并制作以下代码示例:
$(“a.delete”)。单击(function(){//Code here})这对我来说没问题。但是,如果您有一些问题,您可能需要修复代码中的ID。
ID
属性的值必须以a-Z或a-Z范围内的字母开头,后面可能是字母(a-Za-Z)、数字(0-9)、连字符(“-”、下划线(“)、冒号(:”)“,”和句点(“.”)。这对我来说没问题。但是,如果您遇到一些问题,您可能需要修复代码中的ID。ID
属性的值必须以a-Z或a-Z范围内的字母开头,后面可能跟有字母(a-Za-Z)、数字(0-9)、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”.试试这个
$(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
希望这有帮助
试试这个
$(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
希望这有帮助
你的第一个
a
标签有两个id,delete/1
和del/one
。你看到我的答案了吗?你的第一个a
标签有两个id,delete/1
和del/one
。你看到我的答案了吗?我想要div id=“del/one”但如果你只需要使用哪个id就不会发生这种情况:var myID=$(e.target).attr(“ID”);我想要div ID=“del/one”,但如果您只需要执行以下操作,则不会发生这种情况:var myID=$(e.target).attr(“ID”);它没有给我div id,这是我的问题为什么?@gow:因为你点击了
,而不是
。它没有给我div id,这是我的问题为什么?@gow:因为你点击了
,而不是
。我正在为div触发click事件,对吧…那么它如何给标记id呢?我需要divid@gowri:使用$(此).attr('id')
在单击处理程序中,以获取div
id。我正在为div启动click事件……然后它如何给出标记id。我需要divid@gowri:在单击处理程序中使用$(this).attr('id')
,以获取div
id。