before和insertBefore有什么区别?

来源:3-4 DOM外部插入insertAfter()与insertBefore()

大苗子

2017-04-11 15:41

这不是一样吗?为什么要这两个?一般用哪个用的多?

 $('a').before($('b'));  a的前面是

b $('a').insertBefore($('b')); a插入到b的前面

写回答 关注

2回答

  • 随风半水
    2017-04-11 16:01:30
    已采纳

    .before()和.insertBefore()实现同样的功能。主要的区别是语法——内容和目标的位置。 对于before()选择表达式在函数前面,内容作为参数,而.insertBefore()刚好相反,内容在方法前面,它将被放在参数里元素的前面

    .after()和.insertAfter() 实现同样的功能。主要的不同是语法——特别是(插入)内容和目标的位置。 对于after()选择表达式在函数的前面,参数是将要插入的内容。对于 .insertAfter(), 刚好相反,内容在方法前面,它将被放在参数里元素的后面

    before、after与insertBefore。insertAfter的除了目标与位置的不同外,后面的不支持多参数处理

    $("#bt1").on('click', function() {

            //在test1元素前后插入集合中每个匹配的元素

            //不支持多参数

            $('<p style="color:red">测试insertBefore方法增加</p>', '<p style="color:red">多参数</p>').insertBefore($(".test1"))

        }) 

    大苗子

    非常感谢!

    2017-04-15 21:51:11

    共 1 条回复 >

  • 随风半水
    2017-04-11 16:08:11

    后者应该可以防止空指针异常

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114014 学习 · 590 问题

查看课程

相似问题