2011-08-20 167 views
0
<div class="full_width_last"> 

     <div class="sub_div1" style="display:none"> 
      <h2>Join</h2> 
      <p>Click here to sign up.</p> 
      <p>ID: 48</p> 
     </div> 

     <h4>Boston</h4> 
     <p>ioiuy</p> 
     <a href="#" class="join_button">Join</a> 

    </div> 

    jQuery('.join_button').bind('click', function(){ 



     console.log(jQuery(this)); 
     console.log(jQuery(this).parent()); 
     console.log(jQuery('.sub_div1', jQuery(this).parent())); 
     return false; 
    } 

我在用jQuery选择麻烦:jQuery('.sub_div1', jQuery(this).parent())问题与jQuery选择

出于某种原因,该库没有找到DIV我在寻找。

两个:

console.log(jQuery(this)); 
      console.log(jQuery(this).parent()); 

按预期方式工作。任何人都知道为什么我无法获得对.sub_div1的引用?

EDIT 1: 试过缓存父但这没有工作:

console.log(jQuery(this)); 
     //console.log(jQuery(this).parent()); 
     var p = jQuery(this).parent(); 
     console.log(jQuery('.sub_div1', p)); 

编辑2 jQuery(this).parent().children(".sub_div1")也没有工作

此代码产生这样的结果:

console.log(jQuery(this)); 
console.log(jQuery(this).parent()); 
console.log(jQuery(this).parent().children(".sub_div1")); 

Query(a.join_button #✉) 
jQuery(div.full_width_last) 
jQuery() 
+1

您使用的是什么版本的jQuery? – BoltClock

+0

也尝试缓存父,看看是否工作:'var p = jQuery(this).parent(); jQuery('。sub_div1',p);'顺便说一句,你知道jQuery在查找类时效率最低,最好列出element.className(例如'div.sub_div1')而不仅仅是类本身。这样jQuery可以利用本机功能。 – vol7ron

+0

@BoltClock,1.6.2 - 来自https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js –

回答

0
(function($){  
    $('.join_button').bind('click', function(e){ 
     e.preventDefault(); 
     console.log($(this).siblings('.sub_div1')); 
    }); 
})(jQuery); 
1

尝试用usi NG此,jQuery(this).parent().children(".sub_div1")

+0

不幸的是,这也没有工作。请参阅编辑2 –

0

尝试jQuery(this).parent().eq(".sub_div1")

0

好奇,为什么你要父,然后孩子们,为什么不jQuery(this).siblings('.sub_div1')

然而,根据您的意见,你不提供完整的细节(或者至少足够)你的HTML。