Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 识别可点击区域_Jquery - Fatal编程技术网

Jquery 识别可点击区域

Jquery 识别可点击区域,jquery,Jquery,我有一个div class=“parent”。当我点击它时,我需要克隆div class=“child”并根据我点击的父区域显示它们。当我单击div class=“child”时,会出现另一个child div,这是我不想要的行为。 克服这个问题的一种方法是写这样的东西: $('.parent')。单击(函数(事件){ if(event.target.className!='child'){ $('.child').clone().show(); } }); 我认为这不是很优雅,因为如果di

我有一个div class=“parent”。当我点击它时,我需要克隆div class=“child”并根据我点击的父区域显示它们。当我单击div class=“child”时,会出现另一个child div,这是我不想要的行为。 克服这个问题的一种方法是写这样的东西:


$('.parent')。单击(函数(事件){
if(event.target.className!='child'){
$('.child').clone().show();
}
});

我认为这不是很优雅,因为如果div类=“子”将是子代,那么你也必须把它们放进IF-()语句中。 有人能告诉我如何处理这个问题吗。可能有一种方法可以将div class=“child”的所有子级放在一个数组中并循环它们。 任何想法和想法都值得赞赏,


谢谢

这个怎么了

$('.parent').click( function(e) {
  $(this).find('div[class=child]').show();
});
试一试

这将克隆子对象并将其附加到父对象,如果不只是删除appendTo并设置clone(true),我不知道是否需要这样做

应该只针对父母而不是孩子。从jQuery文档中:

事件。目标: 目标属性可以是元素 为事件或事件注册的 它的后代。它通常是有用的 将event.target与中的此进行比较 以确定事件是否为 由于事件冒泡而正在处理。 此属性在事件中非常有用 授权,当事件冒泡时


您也需要发布html。当您单击一个子div时,另一个子div将显示我不想显示的行为我需要几个子div显示在父div内部,我需要在单击父区域时显示它们,但是,当单击子区域时,它们也会出现,我不希望问题是当您单击.child div时会出现另一个.child div。我只需要克隆并显示child div,如果可单击区域与父div相等,但与子div不相等
jQuery('.parent').bind('click', function(){
    var NewChild = jQuery('.child').clone(false);
    NewChild.appendTo(jQuery(this));
    NewChild.show();
}
$('.parent').click(function(event){ 
  if (event.target === this){
     $('.child').clone().show();
  }
});