html - 初学jQuery,测试append 和appendTo的时候,发现结果和预期不大一样,求解 0.0

查看:65
本文介绍了html - 初学jQuery,测试append 和appendTo的时候,发现结果和预期不大一样,求解 0.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

首先是调用append方法,在第四五个li后面添加span标签,之后调用了appendTo,在所以li后面添加span标签,但是为什么第五个li后面最后只有一个span呢。。
附上代码:

    <body>
        <ul>
            <li>num:1</li>
            <li>num:2</li>
            <li>num:3</li>
            <li>num:4</li>
            <li>num:5</li>
        </ul>
        <script>
            var $li = $("<span class='glyphicon glyphicon-modal-window'></span>")
            $("li:gt(2)").append($li);
            $li.appendTo($("li"));
        </script>
    </body>

结果:

解决方案

容我一段一段的解释

//生成了jq对象.名为$li
var $li = $("<span class='glyphicon glyphicon-modal-window'></span>");

//num4和num5的标签分别插入了$li这个jq对象. 这里可以看出最终的$li指向了num5里面的这个span
$("li:gt(2)").append($li);

//所有的li标签都插入$li的对象(这个对象看上文.开始是指向num5的span). appendappendTo在处理jq标签都是移动.而不是复制. 因为刚说了重点.$li这个对象在num5这个li标签内.所以是不做操作移动.其他的li标签都不存在这个$li.所以都移动了过去.这就是为什么最后一个li标签只有一个span的原因
$li.appendTo($("li"));

可能有点乱.但是是这个理.题主有什么不懂得可以随时跟我沟通

这篇关于html - 初学jQuery,测试append 和appendTo的时候,发现结果和预期不大一样,求解 0.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆