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
});