jQuery的:如果(目标)是('.wrapper')的孩子然后(做一些事情)
var target = $(this).attr("href"); if {target is child of ('.wrapper')} then (do something) 简单的语法? 有人能告诉我这里正确的语法吗?
 if($(target).parents('.wrapper').length > 0) { //do something... } 
  .has()也许是mose方便的语法: 
 if( $('.wrapper').has($(target)) ) { // do something } 
 更加“强大”(就性能而言)是$.contains() 。 所以一个理想的algorithm应该是这样的: 
 var $wrapper = $('.wrapper'), $target = $(this).attr('href'); if( $.contains($wrapper[0], $target[0]) ) { // do something } 
参考: .has() , $ .contains()
这里有一个更加整洁的方法:将其绑定为一个jQuery插件。 你可能会发现它更容易理解和使用。
  $.fn.isChildOf = function(element) { return $(element).has(this).length > 0; } 
用法:
  if ( $('.target').isChildOf('.wrapper') ) { //do all the things. } 
如果孩子的深度比一个水平深,那么雅各布的代码就会有小的变化。
 if($(target).parents('.wrapper').length) { //do something... } 
 <div class="parent"> <div class="child"> </div> </div> $(".child").is(".parent .child") 
你不能绑定另一个事件吗?
 $('.wrapper *').click(function() { // will execute on childrens of .wrapper }); 
我知道这是旧post,但可能对某人有用。 在我看来,在很多情况下使用.closest()会有更好的性能:
 if ($(target).closest('.wrapper').length){ // your code here }