为每个div绑定点击功能JQuery
我需要在此有序列表的每个 div 上绑定单击功能,以便在每个 imgXX div 上隐藏/显示图像,我是 JQuery
<ol id='selectable'>
<li class="ui-state-default">
<div id="img01" class="img">
<div id="star01" class="star">
<img src="../ima/star.png" height="30px"/>
</div>
</div>
</li>
<li class="ui-state-default">
<div id="img02" class="img">
<div id="star02" class="star">
<img src="../ima/star.png" height="30px"/>
</div>
</div>
</li>
</ol>
JQuery的新手
$('div').each(function(){
$(this).click(function(){
if($(this).find('img').is(':visible').length){
$(this).find('img').fadeOut(700);
}
else{
$(this).find('img').fadeIn(700);
}
});
});
I need to bind the click function on each div of this ordered list in order to make hide/show an image on each imgXX div, I'm newbie with JQuery
<ol id='selectable'>
<li class="ui-state-default">
<div id="img01" class="img">
<div id="star01" class="star">
<img src="../ima/star.png" height="30px"/>
</div>
</div>
</li>
<li class="ui-state-default">
<div id="img02" class="img">
<div id="star02" class="star">
<img src="../ima/star.png" height="30px"/>
</div>
</div>
</li>
</ol>
JQuery
$('div').each(function(){
$(this).click(function(){
if($(this).find('img').is(':visible').length){
$(this).find('img').fadeOut(700);
}
else{
$(this).find('img').fadeIn(700);
}
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
试试这个:
Try this:
is
方法返回一个布尔值。使用:或:
The
is
method returns a boolean. Use:or:
所以,你不能使用长度因为它返回一个布尔值。删除“长度”,它应该可以工作。
So, you can not use length on it as it returns a boolean value. Remove 'length' and it should work.
我认为你不一定需要每一个。
I don't think you necessarily need the each.
不确定 div 的嵌套,但由于您请求仅淡入
img
我假设.star
div 是可见且可点击的。下面的函数效率更高一些,因为我使用的是children
而不是递归的find
。除了选择器之外,这应该适合您。Not sure about the nesting of the divs, but since you are requesting to only fade the
img
I am assuming that the.star
div is visible and clickable. The function below is a bit more efficient as I am usingchildren
instead offind
which is recursive. Other than the selectors this should work for you.