问答详情
源自:6-9 jQuery遍历之add()方法

当我第二次点击第二个按钮,为什么p不会和li一起appendTo?

当我第二次点击第二个按钮,为什么只有li被剪切?

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

这句不是将<p>新的p元素</p>添加到li集合里面了吗?

提问者:Lucia_Huang 2016-12-26 18:58

个回答

  • 东北小慕
    2017-03-02 18:16:56

    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标签


  • 姜素源3788549
    2017-01-17 21:37:57

    add('<p>新的p元素</p>')里的'<p>新的p元素</p>'是动态创建的P标签,其和li一起appendTo了。而你说p原本就存在于文档页面中了,要想让其和li一起appendTo,需要这样写:$('li').add('p').appendTo($('.right')),add('p')的'p'其实是一个选择器表达式。

  • 春风吹啊吹
    2016-12-26 19:58:27

    我试了一下appendTo(),当 $() 传的参数是元素,那么只能appendTo 一次,如果参数是dom,那么可以多次appendTo()。你这句代码中 <p>新的p元素</p> 是dom,前面的 li 是元素,所以第二次只添加后面的,当你将后面的参数换成元素,比如 p ,那么后面的也只能appendTo 一次