【jQuery】基础学习(二)DOM操作

1. 内容操作

1. html(): 获取/设置元素的标签体内容   <a><font>内容</font></a>  --> <font>内容</font>
2. text(): 获取/设置元素的标签体纯文本内容   <a><font>内容</font></a> --> 内容
3. val(): 获取/设置元素的value属性值
  • 例:
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title></title>
	<script  src="../js/jquery-3.3.1.min.js"></script>
	<script>
		$(function () {
			// 获取myinput 的value值
			var val = $("#myinput").val();
			alert(val);
			// $("#myinput").val("李四");
			// 获取mydiv的标签体内容
			var html = $("#mydiv").html();
			alert(html);
			// $("#mydiv").html("<h1>aaa</h1>");
			// 获取mydiv文本内容
			var text = $("#mydiv").text();
			alert(text);
			//$("#mydiv").text("bbb");
		});
	</script>
</head>
<body>
<input id="myinput" type="text" name="username" value="张三" /><br />
<div id="mydiv"><p><a href="#">标题标签</a></p></div>
</body>
</html>

2. 属性操作

2.1 通用属性的操作

1. attr(): 获取/设置元素的属性
2. removeAttr():删除属性
3. prop():获取/设置元素的属性
4. removeProp():删除属性
  • attr和prop区别?
    1. 如果操作的是元素的固有属性,则建议使用prop
    2. 如果操作的是元素自定义的属性,则建议使用attr
  • 例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>获取属性</title>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<script  src="../js/jquery-3.3.1.min.js"></script>
	<style type="text/css">
		div,span{
			width: 140px;
			height: 140px;
			margin: 20px;
			background: #9999CC;
			border: #000 1px solid;
			float:left;
			font-size: 17px;
			font-family:Roman;
		}
		div.mini{
			width: 30px;
			height: 30px;
			background: #CC66FF;
			border: #000 1px solid;
			font-size: 12px;
			font-family:Roman;
		}
		div.visible{
			display:none;
		}
	</style>
	<script type="text/javascript">
		$(function () {
			//获取北京节点的name属性值
			var name = $("#bj").attr("name");
			alert(name)
			//设置北京节点的name属性的值为dabeijing
			$("#bj").attr("name","dabeijing");
			//新增北京节点的discription属性 属性值是didu
			$("#bj").attr("discription","didu");
			//删除北京节点的name属性并检验name属性是否存在
			$("#bj").removeAttr("name");
			//获得hobby的的选中状态
			var checked = $("#hobby").prop("checked");
			alert(checked);
			//var checked = $("#hobby").attr("checked"); //获取不到,弹出undefined
		});
	</script>
</head>
<body>
<ul>
	<li id="bj" name="beijing" xxx="yyy">北京</li>
	<li id="tj" name="tianjin">天津</li>
</ul>
<input type="checkbox" id="hobby"/>
</body>
</html>

2.2 对Class属性的操作

1. addClass():添加class属性值
2. removeClass():删除class属性值
3. toggleClass():切换class属性

* toggleClass("one"): 
	* 判断如果元素对象上存在class="one",则将属性值one删除掉。  
	  如果元素对象上不存在class="one",则添加
  • 例:
$(function () {
	//<input type="button" value="采用属性增加样式(改变id=one的样式)"  id="b1"/>
	$("#b1").click(function () {
		$("#one").prop("class","second");
	});
	//<input type="button" value=" addClass"  id="b2"/>
	$("#b2").click(function () {
		$("#one").addClass("second");
	});
	//<input type="button" value="removeClass"  id="b3"/>
	$("#b3").click(function () {
		$("#one").removeClass();
	});
	//<input type="button" value=" 切换样式"  id="b4"/>
	$("#b4").click(function () {
		$("#one").toggleClass("second");
	});
	//<input type="button" value=" 通过css()获得id为one背景颜色"  id="b5"/>
	$("#b5").click(function () {
		var css = $("#one").css("backgroundColor");
		alert(css);
	});
	//<input type="button" value=" 通过css()设置id为one背景颜色为绿色"  id="b6"/>
	$("#b6").click(function () {
		$("#one").css("backgroundColor","green");
	});
});

3. CRUD操作

1. append():父元素将子元素追加到末尾
	* 对象1.append(对象2): 将对象2添加到对象1元素内部,并且在末尾
2. prepend():父元素将子元素追加到开头
	* 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头
3. appendTo():
	* 对象1.appendTo(对象2):将对象1添加到对象2内部,并且在末尾
4. prependTo()* 对象1.prependTo(对象2):将对象1添加到对象2内部,并且在开头

5. after():添加元素到元素后边
	* 对象1.after(对象2): 将对象2添加到对象1后边。对象1和对象2是兄弟关系
6. before():添加元素到元素前边
	* 对象1.before(对象2): 将对象2添加到对象1前边。对象1和对象2是兄弟关系
7. insertAfter()
	* 对象1.insertAfter(对象2):将对象2添加到对象1后边。对象1和对象2是兄弟关系
8. insertBefore()
	* 对象1.insertBefore(对象2): 将对象2添加到对象1前边。对象1和对象2是兄弟关系

9. remove():移除元素
	* 对象.remove():将对象删除掉
10. empty():清空元素的所有后代元素。
	* 对象.empty():将对象的后代元素全部清空,但是保留当前对象以及其属性节点
  • 例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>内部插入脚本</title>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<script  src="../js/jquery-3.3.1.min.js"></script>
	<style type="text/css">
		div,span{
			width: 140px;
			height: 140px;
			margin: 20px;
			background: #9999CC;
			border: #000 1px solid;
			float:left;
			font-size: 17px;
			font-family:Roman;
		}
		div .mini{
			width: 30px;
			height: 30px;
			background: #CC66FF;
			border: #000 1px solid;
			font-size: 12px;
			font-family:Roman;
		}
		div.visible{
			display:none;
		}
	</style>
	<script type="text/javascript">
		$(function () {
			// <input type="button" value="将反恐放置到city的后面"  id="b1"/>
			$("#b1").click(function () {
				//append
				//$("#city").append($("#fk"));
				//appendTo
				$("#fk").appendTo($("#city"));
			});
			// <input type="button" value="将反恐放置到city的最前面"  id="b2"/>
			$("#b2").click(function () {
				//prepend
				//$("#city").prepend($("#fk"));
				//prependTo
				$("#fk").prependTo($("#city"));
			});
			// <input type="button" value="将反恐插入到天津后面"  id="b3"/>
			$("#b3").click(function () {
				//after
				//$("#tj").after($("#fk"));
				//insertAfter
				$("#fk").insertAfter($("#tj"));
			});
			// <input type="button" value="将反恐插入到天津前面"  id="b4"/>
			$("#b4").click(function () {
				//before
				//$("#tj").before($("#fk"));
				//insertBefore
				$("#fk").insertBefore($("#tj"));
			});
		});
	</script>
</head>
<body>
<input type="button" value="将反恐放置到city的后面"  id="b1"/>
<input type="button" value="将反恐放置到city的最前面"  id="b2"/>
<input type="button" value="将反恐插入到天津后面"  id="b3"/>
<input type="button" value="将反恐插入到天津前面"  id="b4"/>
<ul id="city">
	<li id="bj" name="beijing">北京</li>
	<li id="tj" name="tianjin">天津</li>
	<li id="cq" name="chongqing">重庆</li>
</ul>
<ul id="love">
	<li id="fk" name="fankong">反恐</li>
	<li id="xj" name="xingji">星际</li>
</ul>
<div id="foo1">Hello1</div>
</body>
</html>
$(function () {
	// <input type="button" value="删除<li id='bj' name='beijing'>北京</li>"  id="b1"/>
	$("#b1").click(function () {
		$("#bj").remove();
	});
	// <input type="button" value="删除city所有的li节点   清空元素中的所有后代节点(不包含属性节点)"  id="b2"/>
	$("#b2").click(function () {
		$("#city").empty();
	});
});
发布了361 篇原创文章 · 获赞 127 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41879343/article/details/104024456