insertBefore():a.insertBefore(b)
a在前,b在后,
a:是一个选择器,b:也是一个选择器
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>jqu</title>
<script type="text/javascript" src='jquery-2.2.0.min.js'></script>
</head>
<body>
<p class='p1'>p1:hello</p>
hello world
<p class='p2'>p2:wenwen</p>
hello wo
</body>
<script type="text/javascript">
$(function(){
$('.p2').insertBefore('.p1'); })
</script>
</html>
得到:
p2:wenwen p1:hello hello world hello wo
insertAfter():跟insertBefore()是一样的道理
a.insertAfter(b)
a在后,b在前
现在是说before()
before():a.before()
a是页面上已有的选择器,b是你需要添加的内容,注意:是什么就是什么,会识别标签,b不是一个选择器
a在后,b在前
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>jqu</title>
<script type="text/javascript" src='jquery-2.2.0.min.js'></script>
</head>
<body>
<p class='p1'>p1:hello</p>
<p class='p2'>p2:wenwen</p>
</body>
<script type="text/javascript">
$(function(){
$('.p2').before('.p1');
})
</script>
</html>
最后得到:
p1:hello .p1
p2:wenwen
看到吗?.p1并不识别选择器,直接就是字符串,在.p2选择器的前面位置
after():跟before()是同理的,只是一个在前一个在后
我只是想说insertBefore(),insertAfter()跟before(),after()的区别,我感觉最大一个区别就是看你要用到的场景,你要是需要两个选择器的位置调换就用insertBefore(),insertAfter()
要是需要一个选择器跟一个文本进行调换位置就可以用before(),after();当然这个不只是调换位置啦
调换位置是说页面上已经存在的东西,这个方法里面也可以加页面上没有的东西,比如:
$('<p class='p3'>嘿嘿</p>').insertBefore('.p1');