javascript - 用JQ怎么第一次点击添加节点,第二次点击隐藏刚刚添加的节点
巴扎黑
巴扎黑 2017-04-10 16:55:02
[JavaScript讨论组]


页面刚加载显示的


点击加号会添加节点

我现在做的就是点加号就一直是添加节点了。。我想点一次添加,点第二次隐藏掉。后面就是隐藏显示之间切换。。

求个大神帮帮忙吧。。

巴扎黑
巴扎黑

全部回复(6)
天蓬老师

先判断你要加的东西是否已经存在了就好。

如果不存在,添加
如果已存在,切换显隐状态 (toggle)

大家讲道理

假设+号按钮类为show,-号按钮类为hide,要被添加的元素p类为.append_p
数据结构为

<p class="cityList">
    <p class="listItem">
        <a href="" class="show">+</a>
        减号为
        <a href="" class="hide">-</a>
        <p class="append_p">
        
        </p>
    </p>
</p>

被添加的数据为

var appendHtml = '<ul>' + 
                    '<li><a href="">...</a></li>' + 
                 '</ul>';

js实现

//显示数据
$('.show').click(function(){
    //加载数据
    $(this).parent().find('.append_p').append(appendHtml);
    //隐藏自身,同时显示-号
    $(this).hide();
    $(this).parent().find('.hide').show();
});

//隐藏数据
$('.hide').click(function(){
    //移除添加的元素
    $(this).parent().remove('.append_p');
    //或者只隐藏
    //$(this).parent().find('.append_p').hide();
    //隐藏自身,同时显示+号
    $(this).hide();
    $(this).parent().find('.show').show();
});

如果想点击显示和隐藏有缓慢效果,可以这么做

//在1秒内完成显示操作
$(this).parent().find('.show').show(1000);
黄舟

如果是添加删除,就判断有没有就可以了。如果是只是切换显示隐藏,就判断当前状态就好了。
jquery1.9之前:$('#example').click(function(){$("#example2").toggle();})
jquery1.9之后:
$('#example').click(function(){

if($("#example2").is(":hidden")){
    $("#example2").show();
    
}else{
    $("#example2").hide();
    
}

})

另外也可以通过toggleClass切换类,用类的css来实现

高洛峰

点击时判断下有没有,有就隐藏,没有就插入

怪我咯

toggle方法,你查一下JQ文档学习下就会了

迷茫

一种方法是判断有没有这个节点有就删除,没有就添加。
二种方法可以添加一个标识变量add=true
var add=true
click处理函数{
if(add){

//添加节点
add=false;

}else{

//删除节点
add=true

}
}

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号