为了账号安全,请及时绑定邮箱和手机立即绑定

这里每次新加的p元素为何在li之前

$("button:last").click(function() {

         //把html结构'<p>新的p元素</p>'

         //加入到li的合集中,为了能够在页面上显示

         //需要再重新appendTo到指定的节点处

         //值得注意:整个结构位置都改变了

         $('li').add('<p>新的p元素</p>').appendTo($('.right'))

    })


正在回答

4 回答

突然明白了,盗用@C0EEC3F7BBAA大神的回答

你第一次点击的时候取出.div里的三个li并加上新的p添加到div.right里,此时.right里有三个li一个p

第二次点的时候你把三个li取出,此时.right里只剩一个p(暂且取名‘次新p’),你再用三个li加一个新p添加到.right中时是添加到次新p的下面,就造成了你所看到的现像,其实最下面的p和三个li才是新添加的,上面的是以前的


8 回复 有任何疑惑可以回复我~
#1

shan330

感谢你这个回答,这样就能理解了,谢谢。用取出这个字,赞。在控制台看了,是这样没错
2017-04-12 回复 有任何疑惑可以回复我~

是在之后添加的,但是当新添加一个p标签时,会移动到li标签上面去,虽然我也不知道为什么,只是试了一下http://img1.sycdn.imooc.com//58d3de7900017eee03610444.jpghttp://img1.sycdn.imooc.com//58d3de3900010ac703780484.jpg

0 回复 有任何疑惑可以回复我~

html中的变化是这样的

<li>list item 1</li>

<li>list item 2</li>

<li>list item 3</li>

<p>新的p元素</p>


变成

<p>新的p元素</p>

<li>list item 1</li>

<li>list item 2</li>

<li>list item 3</li>

<p>新的p元素</p>

也就是你剪切了li,而原来的p并没有剪切

$('li').add('<p>新的p元素</p>').appendTo($('.right'))这句话是把li新添加一个p标签,然后再剪切到.right类中,这句话并没有选择原来的p标签,而是新增了一个p标签


1 回复 有任何疑惑可以回复我~

是在之后的 你可以打开控制台看结构

0 回复 有任何疑惑可以回复我~
#1

东北小慕

你看错了,第一次是加在之后,再点击就加在li之前了,我也不知道为啥
2017-03-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这里每次新加的p元素为何在li之前

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信