请问代码中的“去重”是什么意思?

来源:4-3 DOM节点删除之empty和remove区别

六月的曼陀罗

2016-05-15 20:47

    <p>P元素1,默认给绑定一个点击事件</p>
    <p>P元素2,默认给绑定一个点击事件</p>
    <button id="bt1">点击删除 p 元素</button>
    <button id="bt2">点击移动 p 元素</button>
    <script type="text/javascript">
    $('p').click(function(e) {
        alert(e.target.innerHTML)
    })
    var p;
    $("#bt1").click(function() {
        if (!$("p").length) return; //去重
        //通过detach方法删除元素
        //只是页面不可见,但是这个节点还是保存在内存中
        //数据与事件都不会丢失
        p = $("p").detach()
    });

请问代码中,if (!$("p").length) return; //去重是怎么分析的呢?什么意思呢?为什么通过length来判断去重呢?

写回答 关注

2回答

  • zhaoqihao
    2016-05-19 10:06:06

     $("#bt1").click(function() {

            if (!$("p").length){

         return;

        }

           p = $("p").detach()

        });

    !0是true,直接return,函数结束。!2是false return不执行,执行detach 

  • 金逸凌云
    2016-05-16 09:53:14

    避免重复操作,如果p标签已经被你删除了,你再点不是没意义了吗,$("p").length此时为零,前面加!变成布尔型true,于是就执行后面的return,不会往下执行detach()了.   length是代表长度么,$("p").length代表有几个p元素

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114012 学习 · 590 问题

查看课程

相似问题