CATHY大魔王
2016-08-04 17:55
append添加位置问题 为什么点击add传递html结构多次以后 新的P元素总是出现在3个list item之上?
你第一次点击的时候取出.div里的三个li并加上新的p添加到div.right里,此时.right里有三个li一个p
第二次点的时候你把三个li取出,此时.right里只剩一个p(暂且取名‘次新p’),你再用三个li加一个新p添加到.right中时是添加到次新p的下面,就造成了你所看到的现像,其实最下面的p和三个li才是新添加的,上面的是以前的
你根据代码顺序来理解$('p').add('<p>新的P元素</p>').appendTo('.right');
---------------------------------------------------------------------------------------
其实是这样的。他先用$('p')取到原始p标签对,然后把(<p>新的P元素</p>)这段代码添加到p标签集合中,也就是$('p').add('<p>新的P元素</p>')
然后把这个新的集合(原来的p+新p)再添加到指定的.right里面,也就是.appendTo('.right');
其实你可以 先 append 两下 然后再点击改变颜色事件 然后再继续append 你就会发现下面是上面是红色的而下面试没有颜色的 说明是从下面添加的,它只是重复执行了取出 li 然后又放到自己的下面
为什么结果不是右侧蓝色框里显示的那样?
jQuery基础(二)—DOM篇
114004 学习 · 614 问题
相似问题