目录
一、内部插入
1.追加到父元素的内部最后
jquery对象.append(参数) 在jquery对象的内部最后追加参数里的内容
参数:字符串/jquery对象
$("button").click(function () { $(".box").append("world"); var $span = $("<span></span>"); var $span = $("<span>"); //创建一个span jquery对象 var $span = $("<span>span元素</span>"); //创建一个span jquery对象 var $span = $("<span>"); //创建一个span jquery对象 $(".box").append($span); });
子jquery对象.appendTo(父jquery对象)把子jquery对象追加到父jquery对象的内部最后
$("button").click(function () { var $span = $("<span></span>"); var $span = $("<span>"); //创建一个span jquery对象 $span.appendTo($(".box")); });
2.追加到父元素的内部最前;jquery对象.prepend(参数) 在jquery对象的内部最后追加参数里的内容
参数:字符串/jquery对象
$("button").click(function () { var $span = $("<span></span>"); var $span = $("<span>"); //创建一个span jquery对象 var $span = $("<span>span元素</span>"); //创建一个span jquery对象 $(".box").prepend("world"); });
子jquery对象.prependTo(父jquery对象)把子jquery对象追加到父jquery对象的内部最后
$("button").click(function () { var $span = $("<span></span>"); var $span = $("<span>"); //创建一个span jquery对象 var $span = $("<span>span元素</span>"); //创建一个span jquery对象 $span.prependTo($(".box")); $span.prependTo(".box"); }); var arr = ["张三", "李四", "王二", "麻子"]; $(".box").html(function (i) { // console.log(i); return `${arr[i]}`; });
二、外部插入
- after()方法
该方法在匹配元素集合中的每个元素之后插入由参数指定的内容并返回jQuery对象。
jQuery对象.after(新内容) 在jQuery对象的后面插入新内容
$(".box span").after($("<a href='#'>后新链接</a>"));
- before()方法
此方法将参数指定的内容插入到匹配元素集合中的每个元素之前,并返回jQuery对象。
jQuery对象.before(新内容) 在jQuery对象的前面插入新内容 $(".box span").before("加油"); $(".box span").before($("<a href='#'>新链接</a>")); $(".box span").before($("button"));
- insertAfter()方法
该方法在匹配元素集合中的每个元素插入到目标元素之后并返回jQuery对象
新jQuery对象.insertAfter(jQuery对象)
$("<a href=''>超链接</a>").insertAfter(".box span");
- insertBefore()方法
该方法在匹配元素集合中的每个元素插入到目标元素之前并返回jQuery对象
新jQuery对象.insertBefore(jQuery对象)
$("<a href=''>超链接</a>").insertBefore(".box span"); $("<a href=''>超链接</a>").insertBefore($(".box span"));
三、删除与克隆
1、删除
detach() 方法移除被选元素,包括所有的文本和子节点。然后它会保留数据和事件。
该方法会保留移除元素的副本,允许它们在以后被重新插入。
提示:如需移除元素及它的数据和事件,请使用 remove() 方法代替。
提示:如只需从被选元素移除内容,请使用 empty() 方法。
$(".box span").remove(); //删除所有span 本身及后代 $(".box span").detach(); //删除所有span $(".box span").empty(); //清空内容剩一个span壳 删除后代 本身还在
2、克隆jQuery对象.clone(参数)
参数: 可选 布尔值 默认为false仅复制元素(本身及后代),不克隆元素本身事件,若为true
var $c = $(".box span").clone(); //克隆 本身及后代 $(".box").after($c);
四、替换
replaceAll() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符串
replaceWith() 方法把被选元素替换为新的内容。
$(".btn3").click(function () { $(".box span").replaceWith("这个老六啊"); //替换 $(".box span").replaceWith("<a href='#'>这个老六啊</a>"); //替换 $(".box span").replaceWith($("<a href='#'>这个老六啊</a>")); //替换 $("<a href='#'>这个老六啊</a>").replaceAll(".box span"); //替换 });
五、包装
$(".btn3").click(function () {
$("span").wrap("<div></div>");//每一个选到的元素各自用<div></div>包起来
$("span").wrapAll("<div></div>"); //把所有选到的元素用一个<div></div>包起来
$("span").wrapInner("<b></b>");
$("span").unwrap(); //删除父元素 去除包裹元素
});
六、自定义动画
$("button").click(function () {
// 第一种
// $(".box").animate({ left: "800px" }, 2000, function () {
// // console.log("动画执行完毕");
// $(this).animate({ top: "400px" }, 2000);
// });
// 第二种
$(".box")
.animate({ left: "800px" }, 2000)
.animate({ top: "400px" })
.animate({ left: "0" }, 2000)
.animate({ top: "0" });
// $(".box").animate({ left: "+=800px" }); //相对动画
});
七、无缝滚动
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="js/jquery-3.6.0.min.js"></script>
<style>
* {
padding: 0;
margin: 0;
}
ul {
list-style: none;
}
.box {
overflow: hidden;
width: 400px;
height: 200px;
margin: 40px auto;
box-shadow: 0 0 0 2px #333;
}
.box ul li {
height: 40px;
line-height: 40px;
}
</style>
</head>
<body>
<div class="box">
<ul>
<li>jQuery从入门到精通1</li>
<li>jQuery从入门到精通2</li>
<li>jQuery从入门到精通3</li>
<li>jQuery从入门到精通4</li>
<li>jQuery从入门到精通5</li>
<li>jQuery从入门到精通6</li>
<li>jQuery从入门到精通7</li>
<li>jQuery从入门到精通8</li>
<li>jQuery从入门到精通9</li>
<li>jQuery从入门到精通10</li>
</ul>
</div>
</body>
<script>
function move() {
$(".box ul").animate({ marginTop: "-=40px" }, 400, function () {
var $first = $(".box ul li").first(); //查找第一个li
$(this).append($first); //把滚出去的第一个li追加到ul的内部最后
$(this).css("margin-top", 0); //把ul的margin-top快速修改为0
});
}
window.setInterval(move, 2000);
</script>
</html>