jQuery DOM节点操作

10 篇文章 0 订阅
6 篇文章 0 订阅

开发工具与关键技术:Adobe Dreamweaver JavaScript
作者:执~漠
撰写时间:2020年4月22日

  1. 在 HTML DOM 中,所有事物都是节点。
  2. jQuery创建节点
    jQuery节点的创建: ( ) 函 数 处 理 , ()函数处理, ()(“html结构”),jQuery创建的节点是一个jQuery对象。
例如:$("body").append("<div class='box'>这是一个通过jq创建的div</div>");
  1. jq节点的插入 向元素的内部插入DOM节点
    append() 向每个匹配的元素内部追加内容
例如:$(A元素).append(B元素);将B元素添加到A元素中

appendTo() 把所有匹配的元素追加到另一个指定的元素元素集合中。

例如:$(A元素).appendTo(B元素);把A元素追加到B元素中

prepend() 向每个匹配的元素内部前置内容

例如:$(A元素).prepend(B元素);将B元素添加到A元素中(和append添加的元素有位置上的区别)

prependTo() 把所有匹配的元素前置到另一个、指定的元素元素集合中

例如:$(A元素).prependTo(B元素);把A元素追加到B元素中
  1. jQuery节点的插入 向元素的外部插入DOM节点
    after() 在每个匹配的元素之后插入内容
例如:$(A元素).after(B元素); 在A元素后面插入B元素

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

例如:$(A元素).before(B元素);在A前面插入B元素

insertAfter() 这个方法是颠倒了常规的$(A).after(B)的操作,即不是把B插入到A后面,而是把A插入到B后面(与after()是相反操作,功能都是一样的)

例如:$(A元素).insertAfter(B元素) 在B后面插入A元素

insertBefore() 颠倒了常规的$(A).before(B)的操作,即不是把B插入到A前面,而是把A插入到B前面。(与before()是相反操作,功能都是一样的)

例如:$(A元素).insertBefore(B元素) 在B前面面插入A元素
  1. jQuery元素节点
    empty() 删除匹配的元素集合中所有的子节点
    例如:$(".div1").empty();
    remove([expr]) 从DOM中删除所有匹配的元素(元素本身与子元素都被删除)
例如:$(".div1"). remove ();删除这个元素 
$("p"). remove ("#p3");删除p标签中id为p3这个元素
$("p").remove(".a"); 删除p标签中class为a这个元素

detach() 从DOM中删除所有匹配的元素(注意与remove的区别)
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来
$(“div”).detach()这一句会移除对象,仅仅是显示效果没有了。但是内存中还是存在的。当你append之后,又重新回到了文档流中。就又显示出来了。
例如:在div1放了8个p标签和2个按钮效果如图:
在这里插入图片描述
代码:

<body>
	<div class="div1">
		<p>1</p>
		<p>2</p>
		<p id="p3">3</p>
		<p>4</p>
		<p>5</p>
		<p>6</p>
		<p>7</p>
		<p>8</p>
	</div>
	<button id="www">改变颜色</button>
	<button id="aaa">append</button>
	<script type="text/javascript" src="jquery-3.5.0.min.js"></script>
	<script>
		$("#aaa").click(function(){
			ele=$(".div1").detach();
			$("body").append(ele);
		})
		$("#www").click(function () {
			$(".div1").css("backgroundColor","#123456");
		})
	</script>
</body>

按了按钮后的效果:
在这里插入图片描述
6. jQuery 元素的筛选
eq(index|-index):获取当前链式操作中第N个jQuery对象,返回jQuery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。当参数为负数时为反向选取,比如-1为倒数第一个
参数说明:
index 一个整数,指示元素基于0的位置,这个元素的位置是从0算起。
-index 一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。(-1算起)
first() 获取第一个元素
last()获取最后个元素
hasClass(class) 检查当前的元素是否含有某个特定的类,如果有,则返回true,这其实就是 is("." + class)。
filter(expr|obj|ele|fn) 筛选出与指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式
find(expr|obj|ele)搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法

例如:$("p").eq(-1).css("backgroundColor","#654321");给最后一个元素添加背景颜色。
	  $("p").eq(0).css("backgroundColor","#654321");给第一个元素添加背景颜色。
	  console.log($("p").eq(-6).hasClass("p3"));判断倒数第6个p标签是否有p3这个类。
	  var a=$(".div1").find("p");console.log(a);返回的是一个数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值