Javascript 在jquery中的相同子级和父级之间切换

Javascript 在jquery中的相同子级和父级之间切换,javascript,jquery,Javascript,Jquery,我们如何从父级回调同一个子级?我有如下场景: HTML <div id="abc123"> <ul id="pqr"> <span class="abc">ChildA</span> <span class="xyz">ChildB</span> </ul> HTML输出: $(document).ready(function() { $('.abc, .xyz').parent().cl

我们如何从父级回调同一个子级?我有如下场景:
HTML

<div id="abc123">
<ul id="pqr">
    <span class="abc">ChildA</span>
    <span class="xyz">ChildB</span>
</ul>
HTML输出:

$(document).ready(function()
{
   $('.abc, .xyz').parent().click(function()
   {
      alert($(this).children().attr("class"));
   });
});  
ChildA ChildB  
每当我点击childA时,它会给我正确的输出作为abc,但当我点击childB时,它会再次指向第一个孩子,并将其属性作为abc
有什么方法可以瞄准我点击过的同一个孩子吗?

试试这个

$(document).ready(function()
{
   $('.abc, .xyz').click(function()
   {
      alert($(this).attr("class"));
   });
}); 
$(document).ready(function()
{
   $('#pqr').find('span').click(function()
   {
      alert($(this).attr("class"));
   });
});  
试试这个

$(document).ready(function()
{
   $('.abc, .xyz').click(function()
   {
      alert($(this).attr("class"));
   });
}); 
$(document).ready(function()
{
   $('#pqr').find('span').click(function()
   {
      alert($(this).attr("class"));
   });
});  
这个怎么样

$("#pqr span").click(function() {
    alert($(this).attr("class");
});
这个怎么样

$("#pqr span").click(function() {
    alert($(this).attr("class");
});
parent().children()

在该数组上调用方法时,它始终使用第一个元素(ChildA)

将click listener应用于这两个元素,并从您单击的对象(
this
)获取类,不要尝试通过父级和子级获取它

$(document).ready(function()
{
   $('.abc, .xyz').click(function()
   {
      alert($(this).attr("class"));
   });
}); 
parent().children()

在该数组上调用方法时,它始终使用第一个元素(ChildA)

将click listener应用于这两个元素,并从您单击的对象(
this
)获取类,不要尝试通过父级和子级获取它

$(document).ready(function()
{
   $('.abc, .xyz').click(function()
   {
      alert($(this).attr("class"));
   });
}); 

可以通过引用启动事件的DOM元素来完成此操作:

$('.abc, .xyz').parent().click(function (e) {
    alert($(e.target).attr("class"));
});
演示:


事件或e
实际上是事件处理程序,并保证传递给事件处理程序。原始事件中的大多数属性都被复制并规范化为新事件对象


是主事件属性之一,是为事件或其子代注册的元素。

您可以通过引用启动事件的DOM元素来执行此操作:

$('.abc, .xyz').parent().click(function (e) {
    alert($(e.target).attr("class"));
});
演示:


事件或e
实际上是事件处理程序,并保证传递给事件处理程序。原始事件中的大多数属性都被复制并规范化为新事件对象


是主事件属性之一,它是为事件或其子代注册的元素。

在父级上绑定单击事件,然后查找其子级的属性将得到与获得确切输出相同的结果。您可以比较类名或按id比较它们

试试这个

$(document).ready(function()
{
   $('.abc, .xyz').click(function()
   {
      alert($(this).attr("class"));
   });
}); 
$(document).ready(function()
{
   $('#pqr').find('span').click(function()
   {
      alert($(this).attr("class"));
   });
});  

在父对象上绑定单击事件,然后查找其子对象的属性,将得到与获得确切输出相同的结果。您可以比较类名,也可以按id进行比较

试试这个

$(document).ready(function()
{
   $('.abc, .xyz').click(function()
   {
      alert($(this).attr("class"));
   });
}); 
$(document).ready(function()
{
   $('#pqr').find('span').click(function()
   {
      alert($(this).attr("class"));
   });
});  


删除
parent()
有没有办法不删除parent()?当您单击
childB
@PhilippSander时,您期望得到关于类名的警报xyz@Aman那么,您希望返回您单击的孩子的类吗?然后看一看我的回答删除
parent()
有没有办法不删除parent()?当你点击
childB
@PhilippSander时,你期望得到关于类名的警告xyz@Aman那么,您希望返回您单击的孩子的类吗?然后看看我的答案不行。。。因为我需要点击家长而不是孩子如果你想让家长监听你想用什么标准来提醒孩子1或2?@GirishSakhare看看palash answerno way。。。因为我需要点击家长而不是孩子如果你想让家长监听你想应用什么标准来提醒孩子1或2?@GirishSakhare查看palash answer查看@palash answer查看@palash answer查看@palashanswer@palash请你试着解释一下这个e参数,这是什么意思
e.target
do?@palash请你试着解释一下这个e参数,以及这个
e.target
做什么?