我刚学习jQuery和java脚本,目前我在显示隐藏按钮方面遇到问题,我的html是
<span style="float:left;padding-right:10px">
<input type="button" value="image" class="delete" />
<a href="/media/image"><img src="/media/image" /></a>
</span>
<span style="float: left; padding-top: 5px;">
<a href="/media/image">
<button type="submit" class="delete_media">Delete</button>
</a>
</span>
Jquery的:
$(".delete").click(function(){
var $this = $(this);
$this.siblings(".delete_media").toggle();
});
的CSS:
.delete_media {
display:none;
float: right;
height: 25px;
width: 60px;
-moz-border-radius: 10px;
border-radius:10px;
}
此外,我尝试使用find,nextAll,最接近也没有任何工作,所以如何使这项工作。
演示Here
答案 0 :(得分:2)
答案 1 :(得分:1)
你正在使用兄弟姐妹,但他们不在同一个容器上。其他遍历功能也不能完成这项工作,因为这两个按钮没有公共容器。
只需按班级搜索
$(".delete").click(function(){
var $this = $(this);
$(".delete_media").toggle();
});
建议您使用公共容器包装这两个按钮。
这是一个例子
<div data-action="delete">
<span style="float:left;padding-right:10px">
<input type="button" value="image" class="delete" />
<a href="/media/image"><img src="/media/image" /></a>
</span>
<span style="float: left; padding-top: 5px;">
<a href="/media/image">
<button type="submit" class="delete_media">Delete</button>
</a>
</span>
</div>
$(".delete").click(function(){
var $this = $(this);
$this.closest("div[data-action='delete']")
.find(".delete_media").toggle();
});