jquery怎么实现点击一个按钮控制一个div的显示和隐藏?
示例html
<div class="abc" style="display:none"></div>
<input type="button" class="but" />
最简单的方法:
<script>
$(document).ready(function(e) {
$(".but").click(function(e) {
$(".abc").toggle();
});
});
</script>
toggle() 的作用就是当对象是显示的就隐藏,当是隐藏的则显示。
------
如果你除了显示和隐藏之外还需要同时实现其他功能的话,可以这样:
<script>
$(document).ready(function(e) {
$(".but").click(function(e) {
if( $(".abc").hasClass("show") ){
// 执行隐藏
$(".abc").hide().removeClass("show");
// 其他
}else{
// 显示
$(".abc").show().addClass("show");
}
});
});
</script>
这里通过自定义一个 class : show 来判断 div 是显示或隐藏
hasClass() 是否存在某个class
hide() 隐藏对象
show() 显示对象
removeClass() 移除一个class
addClass() 添加一个class
除此,还可以通过jquery设置这个 div 的 css : display:none/block 来实现隐藏/显示
PS:jquery如何删除div里面的某个div
思路:首先获取到需要删除的对象,然后使用jQuery提供的 remove() 方法删除被选元素及其子元素。
例如,对于如下的HTML结构:
<div id="test">
<div id="test1"></div>
<div class="test2"></div>
<div class="test2"></div>
<div></div>
</div>
1、删除id为test1的div
首先使用id选择器获取元素,然后使用remove()函数删除,相应代码为:
$("div#test1").remove();
2、删除所有class为test2的元素
$("#test div.test2").remove(); // 或者 $("div").remove("#test .test2");
3、删除最后一个div
虽然该div没有id及class属性,但是可以从其位置关系上获取然后删除之:
$("#test div:last").remove();