问答详情
源自:4-4 DOM节点删除之保留数据的删除操作detach()

关于if ( )return

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

        if (!$("p").length) return;//去重

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

    }); 

这个地方,如果( )为true,执行return,是不是就跳出了这个事件,不执行后面的 p = $("p").detach()了吧?( )里false才会绕过return,执行p = $("p").detach()吧?有人有总结么?

提问者:慕粉18221508921 2016-12-13 21:18

个回答

  • Alexey
    2016-12-15 10:25:52

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

            if (!$("p").length) return;//去重

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

        });

    你的这一行代码    if (!$("p").length) return;//去重   中的(!$("p").length)只是判断是否有$("p")这个标签,

    所以都会执行下一行的p = $("p").detach()。

    首先你的观点是正确的。

    然后我按照你的说法总结一下:

    if ($("p").length == true ) return;//这里当$("p").length标签存在,则等于true,执行return;

    p = $("p").detach();//不会执行这行代码(跳过这个事件)


    if ($("p").length == false) return;//这里当$("p").length标签存在,则不等于false,跳过return;

    p = $("p").detach();//执行这行代码


    这里   if($("p").length == true);  中的   $("p").length 相当于 $("p") 只是判断是否有p标签,不知道你是不是想判断长度...





  • 烟云藏锋
    2016-12-13 22:19:50

    第二行代码应该是……

  • 烟云藏锋
    2016-12-13 22:18:24

    第三行的代码应该是检测p是不是存在,如果不存在,就结束,即return,若p存在,再执行第三行的代码。