讲给后台程序员看的前端系列教程(59)——jQuery DOM操作


C语言自学完备手册(33篇)

Android多分辨率适配框架

JavaWeb核心技术系列教程

HTML5前端开发实战系列教程

MySQL数据库实操教程(35篇图文版)

推翻自己和过往——自定义View系列教程(10篇)

走出思维困境,踏上精进之路——Android开发进阶精华录

讲给Android程序员看的前端系列教程(40集免费视频教程+源码)


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

在本节教程中,我们重点关注jQuery中的DOM操作。

获取和设置元素内容

常用方法及其作用如下:

html( )
获取和设置元素的标签体内容并保留原格式。

text( )
获取和设置元素的标签体纯文本内容。

val( )
获取和设置元素的value属性值。

示 例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>获取和设置元素内容</title>
		<!--引入jquery文件 -->
		<script src="js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			$(function() {
				//获取input元素value属性的值
				var value=$("#inputid").val();
				console.log("value="+value);
				//设置input标签value属性的值
				$("#inputid").val("tom");
				value=$("#inputid").val();
				console.log("value="+value);
				
				//获取div元素内容
				var htmlContext=$("#divid").html();
				console.log("htmlContext="+htmlContext);
				//设置div元素内容
				$("#divid").html("<p>hello jQuery</p>");
				htmlContext=$("#divid").html();
				console.log("htmlContext="+htmlContext);
				
				//获取div元素纯文本
				var textContext=$("#divid").text();
				console.log("textContext="+textContext);
				//设置div元素纯文本
				$("#divid").text("bye JavaScript");
				textContext=$("#divid").text();
				console.log("textContext="+textContext);
			});
		</script>
	</head>
	<body>
		<h2 id="author" style="color: red;">本文作者:谷哥的小弟</h2>
		<h2 id="blog" style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
		<input id="inputid" type="text" name="username" value="lucy" /><br />
		<div id="divid"><p><a href="#">内容</a></p></div>
	</body>
</html>

在这里插入图片描述

操作元素属性

关于操作元素属性,我们分为两部分讲解:先学习对于通用属性的操作再学习对于class属性的操作

操作元素通用属性

常用方法及其作用如下:

attr( )
获取和设置元素的属性

removeAttr( )
删除元素属性

prop( )
获取和设置元素的属性

removeProp( )
删除元素属性

attr( )和removeAttr( )与prop( )和removeProp( )的区别

  • 操作元素的HTML原始自带属性时建议使用prop( )和removeProp( )
  • 操作元素的自定义属性时建议使用attr( )和removeAttr( )

示 例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>操作元素通用属性</title>
		<!--引入jquery文件 -->
		<script src="js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			$(function() {
				//获取bj节点的cityname属性的值
				var citynameValue = $("#bj").attr("cityname");
				console.log("citynameValue=" + citynameValue);
				//设置bj节点的cityname属性的值
				$("#bj").attr("cityname", "capital");
				citynameValue = $("#bj").attr("cityname");
				console.log("citynameValue=" + citynameValue);
				//为bj节点新增discription属性,属性值是beautiful city
				$("#bj").attr("discription", "beautiful city");
				var discriptionValue = $("#bj").attr("discription");
				console.log("discriptionValue=" + discriptionValue);
				//删除bj节点的discription属性
				$("#bj").removeAttr("discription");

				//获得agree节点的HTML自带属性checked
				var isChecked = $("#agree").prop("checked");
				console.log("isChecked=" + isChecked);
				//设置agree节点的HTML自带属性checked
				$("#agree").prop("checked", "true");
				isChecked = $("#agree").prop("checked");
				console.log("isChecked=" + isChecked);
			});
		</script>
	</head>
	<body>
		<h2 id="author" style="color: red;">本文作者:谷哥的小弟</h2>
		<h2 id="blog" style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
		<ul>
			<li id="bj" cityname="beijing">北京</li>
			<li id="cd" cityname="chengdu">成都</li>
		</ul>
		<input id="agree" type="checkbox" /> Yes , I agree

	</body>
</html>

在这里插入图片描述

操作元素class属性

常用方法及其作用如下:

addClass( )
为元素添加class属性

removeClass( )
删除元素的class属性值

toggleClass( )
切换元素的class属性。调用该方法后如果元素本身存在class属性则将其移出,如果元素本身不存在class属性则添加。

示 例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>操作元素class属性</title>
		<!--引入jquery文件 -->
		<script src="js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			div{
				width: 200px;
				height: 200px;
				margin: 20px;
				background: #9999CC;
				border: #000 1px solid;
				float: left;
				font-size: 17px;
				font-family: Roman;
			}

			.divstyle{
				width: 300px;
			    height: 300px;
			    margin: 20px;
			    background: yellow;
			    border: pink 3px dotted;
				float:left;
			    font-size: 22px;
			    font-family:Roman;
			}
		</style>

		<script type="text/javascript">
			$(function() {
				$("#firstButton").click(function () {
					$("#one").prop("class","divstyle");
				});
				$("#secondButton").click(function () {
					$("#one").addClass("divstyle");
				});
				$("#thirdButton").click(function () {
					$("#one").removeClass("divstyle");
				});
				$("#fourthButton").click(function () {
					$("#one").toggleClass("divstyle");
				});
				$("#fifthButton").click(function () {
					var backgroundColorValue = $("#one").css("backgroundColor");
					alert("backgroundColorValue="+backgroundColorValue);
				});
				$("#sixthButton").click(function () {
					$("#one").css("backgroundColor","red");
				});
				
			});
		</script>
	</head>
	<body>
		<h2 id="author" style="color: red;">本文作者:谷哥的小弟</h2>
		<h2 id="blog" style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
		<input type="button" value="通过prop()添加属性为id为one的元素增加样式" id="firstButton" />
		<br />
		<input type="button" value="通过addClass()添加属性为id为one的元素增加样式" id="secondButton" />
		<br />
		<input type="button" value="通过removeClass()移出id为one的元素的样式" id="thirdButton" />
		<br />
		<input type="button" value="通过toggleClass()切换id为one的元素的样式" id="fourthButton" />
		<br />
		<input type="button" value="通过css()获得id为one背景颜色" id="fifthButton" />
		<br />
		<input type="button" value="通过css()设置id为one背景颜色为红色" id="sixthButton" />
		<br /><br />
		<div id="one" title="title1">
			id为one的div
		</div>
	</body>
</html>

在这里插入图片描述

DOM常见操作

常用方法及其作用如下:

append( )
父元素将子元素追加至自身末尾。

例如:A.append(B)

<A>
	....
	<B></B>
<A>

prepend( )
父元素将子元素追加至自身开头

例如:A.prepend(B)

<A>
	<B></B>
	....
<A>

appendTo( )
父元素将子元素追加至自身末尾。

例如:A.appendTo(B)

<B>
	....
	<A></A>
<B>

prependTo( )
父元素将子元素追加至自身开头。

例如:A.prependTo(B)

<B>
	<A></A>
	....
<B>

after( )
添加元素到自身后面

例如:A.after(B)

<A></A>
<B></B>

before( )
添加元素到自身前面

例如:A.before(B)

<B></B>
<A></A>

insertAfter( )
添加元素到自身后面

例如:A.insertAfter(B)

<B></B>
<A></A>

insertBefore( )
添加元素到自身前面

例如:A.insertBefore(B)

<A></A>
<B></B>

remove( )
移除元素

empty( )
清空元素的所有后代元素,但保留当前对象及其属性节点

示 例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>DOM常用操作</title>
		<!--引入jquery文件 -->
		<script src="js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			$(function() {
				$("#firstButton").click(function() {
					//$("#city").append($("#ql"));
					$("#ql").appendTo($("#city"));
				});
				$("#secondButton").click(function() {
					//$("#city").prepend($("#ql"));
					$("#ql").prependTo("#city");
				});
				$("#thirdButton").click(function() {
					//$("#cd").after($("#ql"));
					$("#ql").insertAfter($("#cd"));
				});
				$("#fourthButton").click(function() {
					//$("#cd").before($("#ql"));
					$("#ql").insertBefore($("#cd"));
				});
				$("#fifthButton").click(function() {
					$("#bj").remove();
				});
				$("#sixthButton").click(function() {
					var sy=$("<li id='bj' name='sanya'>三亚</li>");
					sy.appendTo($("#city"));
				});
				$("#seventhButton").click(function() {
					$("#city").empty();
				});
			});
		</script>
	</head>
	<body>
		<h2 id="author" style="color: red;">本文作者:谷哥的小弟</h2>
		<h2 id="blog" style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
		<input type="button" value="将晴朗放置到city最后面" id="firstButton" />
		<input type="button" value="将晴朗放置到city最前面" id="secondButton" />
		<input type="button" value="将晴朗插入到成都后面" id="thirdButton" />
		<input type="button" value="将晴朗插入到成都前面" id="fourthButton" />
		<input type="button" value="删除北京节点" id="fifthButton" />
		<input type="button" value="增加三亚节点" id="sixthButton" />
		<input type="button" value="删除城市的子节点" id="seventhButton" />
		
		<ul id="city">
			<li id="bj" name="beijing">北京</li>
			<li id="cd" name="chengdu">成都</li>
			<li id="bd" name="baoding">保定</li>
		</ul>

		<ul id="weather">
			<li id="ql" name="sunny">晴朗</li>
			<li id="xy" name="sprinkle">小雨</li>
			<li id="dy" name="cloudy">多云</li>
		</ul>
		
	</body>
</html>

在本示例中,在增加三亚节点的操作过程中:

$("#sixthButton").click(function() {
	var sy=$("<li id='bj' name='sanya'>三亚</li>");
	sy.appendTo($("#city"));
});

请注意单引号与双引号的嵌套,一般说:单引号中嵌套双引号或者双引号中嵌套单引号。

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷哥的小弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值