Jquery Can';我得不到有特定等级的div

Jquery Can';我得不到有特定等级的div,jquery,Jquery,我有一组元素,每个元素如下所示: <div class="maindiv"> <div id="55"> <a class="aimg" onclick="showit(this);return false;"> <img src="myjpg.jpg"/> </a> <div class="someclass"></div> <div class="geti

我有一组元素,每个元素如下所示:

<div class="maindiv">
  <div id="55">
    <a class="aimg" onclick="showit(this);return false;">
      <img src="myjpg.jpg"/>
    </a>
    <div class="someclass"></div>
    <div class="getit"></div>
  </div>
 </div>
但是它不起作用


我希望这里有人能帮助我

使用links父元素上的
.find()
函数定位
div.getit
元素

这里的关键是通过将传入事件对象(
e
)包装在
$()
-中,将其转换为jQuery对象,这样您就可以方便地使用jQuerys
.parent()
.find()
函数

function showit(e){
  $(e).parent().find('div.getit').show();
};

jQuery文档必须说明
.show()
函数-

匹配的元素将立即显示,没有动画。 这大致相当于调用
.css('display','block')
,除了 显示属性恢复到最初的状态。如果 元素的显示值为
inline
,然后隐藏并显示,然后 将再次以内联方式显示

注意:如果使用
!重要信息
在您的样式中,例如
显示:无
!重要信息
,必须使用
.css('display','block!important')
您是否希望将
.show()
用于 功能正常

这样做:-

HTML: CSS:
请参阅删除onclick处理程序,因为内联javascript通常不是最好的解决方案,而是阻止单击处理程序中的默认操作

<div class="maindiv">
  <div id="55">
    <a class="aimg">
      <img src="myjpg.jpg"/>
    </a>
    <div class="someclass"></div>
    <div class="getit">dsdadsa</div>
  </div>
</div>​​​

或者如果您只需要使用onclick函数(这是不必要的):


dsdadsa
​
函数showit(elem){
$(elem).兄弟姐妹(“.getit”).show();
}

showit
函数中,此
将表示窗口对象,而不是


a
标记上缺少的
是否只是SO中的一个输入错误或是从代码中复制/粘贴的错误?是的,它是一个输入错误,现已修复:-)。我已将“show()”编辑为“showit()”,以避免与jquery的“show”混淆。Lix,我可能还不够清楚。我在“show()”函数中有上面的代码,还有其他一些代码。您是否尝试了
div.getit
selector?Lix,我想我的函数名为“show”可能会有一些混淆,所以我将其改为“showit”,稍作解释会让这变得很好answer@RuneFS-不擅长解释东西,但也许这样会好一点?
<div class="maindiv">
  <div id="55">
    <a class="aimg">
      <img src="http://www.gravatar.com/avatar/cfda66988653015c6791d5da11ebbc2c?s=32&d=identicon&r=PG"/>
    </a>
    <div class="someclass"></div>
    <div class="getit"></div>
  </div>
 </div>​
$('.aimg').one('click', function() {
    $(this).parent().find('.getit:first').css('display', 'block');
});
.getit {
    display: none;
    border: 1px solid;
    width: 50px;
    height: 50px;
}​
<div class="maindiv">
  <div id="55">
    <a class="aimg">
      <img src="myjpg.jpg"/>
    </a>
    <div class="someclass"></div>
    <div class="getit">dsdadsa</div>
  </div>
</div>​​​
$(".aimg")​.on('click', function(e) {
    e.preventDefault();
    $(this).siblings(".getit").show();
})​;​
<div class="maindiv">
  <div id="55">
    <a class="aimg" onclick="showit(this);return false;">
      <img src="myjpg.jpg"/>
    </a>
    <div class="someclass"></div>
    <div class="getit">dsdadsa</div>
  </div>
 </div>

​<script type="text/javascript"​​​​​​​​​​​​​​​​​​​​​​​​​​>
    function showit(elem) {
        $(elem).siblings(".getit").show();
    }
</script>
function showit(element){
    //other stuff
    $(element).parent().find('.getit:first').css('display', 'block');
    //other stuff
}
function showit(){
    //other stuff
    $(arguments[0]).parent().find('.getit:first').css('display', 'block');
    //other stuff
}
<a class="aimg" onclick="showit.call(this);return false;">
$(".aimg")​.on('click', function() {
    //other stuff
    $(this).siblings(".getit").css('display', 'block');
    //other stuff
})​;​