问答详情
源自:4-2 DOM节点删除之remove()的有参用法和无参用法

remove()为什么不能删除第一个子元素?

代码如下,我把原代码的“:contains('3')”换成了$(".test2")remove(“:first-child”)就无法实现了,类似的还有几个选择器,用了也无法实现


<script type="text/javascript">

    $("button:first").on('click', function() {

        //删除整个 class=test1的div节点

        $(".test1").remove()

    })


    $("button:last").on('click', function() {

        //找到所有p元素中,包含了3的元素

        //这个也是一个过滤器的处理

        $(".test2").remove(":first-child")

    })

    </script>

提问者:WE2008311 2016-08-14 11:56

个回答

  • koromon
    2016-08-14 14:46:55
    已采纳

    因为 remove() 是会移除自身的,你使用 :first-child 这个过滤器没有意义,所以估计没有这种语法吧。

    你可以使用 :first 这个过滤器试下,意味着移除 $(".test2") 中的第一个,这个可以通过测试。


  • Yinsion_Nie
    2016-10-20 14:56:23

    $(".test2 p")remove(“:first-child”)这样写,倒是可以删除掉class="test2"下面的第一个p元素。

  • 慕粉18408282381
    2016-08-14 14:31:32

    不知道为什么,但是试试是要是限定条件在前面的话就没有问题,比如$(".test2 p:first-child").remove( )