jQuery元素节点操作

一、内部插入

append()

append()向每个匹配的元素内部追加内容,这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似

//在div中追加了一个p标签
$("#div1").append($("<p>"));

appendTo()

把所有匹配的元素追加到另一个指定的元素元素集合中,实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中

//把标签p追加到div中
$("<p>").appendTo($("#div1"));

prepend()

向每个匹配的元素内部前置内容,这是向所有匹配元素内部的开始处插入内容的最佳方式

//往div内容的前面插入了一个p标签
$("#div1").prepend($("<p>"));

prependTo()

把所有匹配的元素前置到另一个、指定的元素元素集合中,实际上,使用这个方法是颠倒了常规的$(A).prepend(B)的操作,即不是把B前置到A中,而是把A前置到B中

//把p标签插入到div内容的前面
$("<p>").prependTo($("#div1"));

二、外部插入

after()

在每个匹配的元素之后插入内容

//在div后面插入了一个p标签
$("#div1").after($("<p>"));

before()

在每个匹配的元素之前插入内容

//在div前面插入了一个p标签
$("#div1").after($("<p>"));

insertAfter()

把所有匹配的元素插入到另一个、指定的元素元素集合的后面,实际上,使用这个方法是颠倒了常规的$(A).after(B)的操作,即不是把B插入到A后面,而是把A插入到B后面

//把p标签插入到div后面
$("<p>").insertAfter($("#div1"));

insertBefore()

把所有匹配的元素插入到另一个、指定的元素元素集合的前面,实际上,使用这个方法是颠倒了常规的$(A).before(B)的操作,即不是把B插入到A前面,而是把A插入到B前面

//把p标签插入到div前面
$("<p>").insertBefore($("#div1"));

三、包裹

wrap()

把所有匹配的元素用其他元素的结构化标记包裹起来
这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质
这个函数的原理是检查提供的第一个元素(它是由所提供的HTML标记代码动态生成的),并在它的代码结构中找到最上层的祖先元素--这个祖先元素就是包裹元素。当HTML标记代码中的元素包含文本时无法使用这个函数
因此,如果要添加文本应该在包裹完成之后再行添加

//把所有的段落用一个新创建的div包裹起来
$("p").wrap("<div class='wrap'></div>");

remove()

从DOM中删除所有匹配的元素
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素
但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除

//从DOM中把所有段落删除
$("p").remove();

点击添加删除列表

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.prependLie,.removeLie{
				width: 200px;
				height: 40px;
				margin: 10px 100px;
				border-radius: 15px;
				border: 2px solid rgba(192,192,192,0.8);
				font-family: "楷体";
				font-size: 20px;
				outline: none;
			}
			li{
				height: 30px;
				background: #DCDCDC;
				list-style: none;
				margin-top: 10px;
				line-height: 30px;
				padding: 10px;
			}
		</style>
		<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
		<script type="text/javascript">
			$(function(){
				$(".prependLie").on("click",function(){
					$("ul").prepend("<li>列表$$</li>");
				})
				$(".removeLie").on("click",function(){
					$("li").remove("li:eq(0)");
				})
			})
		</script>
	</head>
	<body>
		<button class="prependLie">添加一列</button>
		<button class="removeLie">删除一列</button>
		<ul></ul>
	</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值