40.3 JQuery对DOM的操作(内容操作、属性操作、crud操作)

这篇博客详细介绍了JQuery在DOM中的常用操作,包括内容操作如html()、text()、val(),属性操作以及CRUD操作,如append()、prepend()、remove()等。此外,还提供了多个实战练习,如表格隔行换色、全选与反选、QQ表情选择和多选下拉列表的元素移动等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 JQuery在DOM中常用操作

1.1 内容操作html()、text()、val()

1.2 属性操作

1.3 CRUD操作

2 练习

2.1 列:表格隔行换色

2.2 列:全选与全部选

2.3 qq表情选择

2.4 多选下拉列表左右移动


1 JQuery在DOM中常用操作

    1. 内容操作        1. html(): 获取/设置元素的标签体内容   <a><font>内容</font></a>  --> <font>内容</font>
        2. text(): 获取/设置元素的标签体纯文本内容   <a><font>内容</font></a> --> 内容
        3. val(): 获取/设置元素的value属性值
2. 属性操作 

 1. 通用属性操作
            1. attr(): 获取/设置元素的属性
            2. removeAttr():删除属性
            3. prop():获取/设置元素的属性
            4. removeProp():删除属性

             attr和prop区别?
                1. 如果操作的是元素的固有属性,则建议使用prop
                2. 如果操作的是元素自定义的属性,则建议使用attr
2. 对class属性操作
            1. addClass():添加class属性值
            2. removeClass():删除class属性值
            3. toggleClass():切换class属性
                * toggleClass("one"): 
                    * 判断如果元素对象上存在class="one",则将属性值one删除掉。  如果元素对象上不存在class="one",则添加
            4. css():

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():将对象的后代元素全部清空,但是保留当前对象以及其属性节点

1.1 内容操作html()、text()、val()

1. html(): 获取/设置元素的标签体内容   <a><font>内容</font></a>  --> <font>内容</font>
2. text(): 获取/设置元素的标签体纯文本内容   <a><font>内容</font></a> --> 内容
3. val(): 获取/设置元素的value属性值

<script>
	$(function () {
		//1 获取myinput 的value值
		var value=$("input[name='username']").val();//1.1 获取value值
		alert(value);
		var value2=$("input[name='username']").val("老王");//1.2 设置value的值

		//2 获取mydiv的标签体内容
		var con=$("#mydiv").html();//2.1 获取mydiv的标签体内容
		alert(con);
		var con2=$("#mydiv").html("<h3>yyy</h3>");//2.1 获取mydiv的标签体内容
		
		//3 获取mydiv文本内容
		var text=$("#mydiv").text();
		var text2=$("#mydiv").text("文本内容");
	});
</script>
		
	</head>
	<body>
		<input id="myinput" type="text" name="username" value="张三" /><br />
		<div id="mydiv"><p>22<a href="#">标题标签</a></p></div>
	</body>

1.2 属性操作

2. 属性操作 

 1. 通用属性操作
            1. attr(): 获取/设置元素的属性
            2. removeAttr():删除属性
            3. prop():获取/设置元素的属性
            4. removeProp():删除属性

             attr和prop区别?                1. 如果操作的是元素的固有属性,则建议使用prop                2. 如果操作的是元素自定义的属性,则建议使用attr


2. 对class属性操作
            1. addClass():添加class属性值
            2. removeClass():删除class属性值
            3. toggleClass():切换class属性       toggleClass("one"): 判断如果元素对象上存在class="one",则将属性值one删除掉。  如果元素对象上不存在class="one",则添加
            4. css():

通用属性操作 

<script type="text/javascript">
	$(function () {
		//1 获取北京节点的name属性值
			var name=$("#bj").attr("name");
			// alert(name);
		//2 设置北京节点的name属性的值为dabeijing
			$("#bj").attr("name","dabeijing");
		//3 新增北京节点的discription属性 属性值是didu
			$("#bj").attr("discription","didu");
		//4 删除北京节点的name属性并检验name属性是否存在
			$("#bj").removeAttr("name");
		//5 获得hobby的的选中状态
			var flag=$("input[type='checkbox']:checked").prop("checked");
			alert(flag);
	});

</script>	
	</head>	 
	<body>				
		 <ul>
		 	 <li id="bj" name="beijing" xxx="yyy">北京</li>
			 <li id="tj" name="tianjin">天津</li>
			 <li id="sh" name="tianjin">上海</li>
		 </ul>
		 复选框:
		 <input type="checkbox" name="hobby"  value="学习"/>学习
		 <input type="checkbox" name="hobby"  value="玩"/>玩
		 <input type="checkbox" name="hobby"  value="打人"/>打人
		 <input type="checkbox" name="hobby"  value="游戏"/>游戏		
	</body>

 对class属性进行操作:

<script  src="../js/jquery-3.3.1.min.js"></script>
	<style type="text/css">
		   .one{
			    width: 200px;
			    height: 140px;
			    margin: 20px;
			    background: red;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
		
		 	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: 40px;
			    height: 40px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			div .mini01{
			    width: 40px;
			    height: 40px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			/*待用的样式*/
			.second{
				width: 300px;
			    height: 340px;
			    margin: 20px;
			    background: yellow;
			    border: pink 3px dotted;
				float:left;
			    font-size: 22px;
			    font-family:Roman;
			}			
	 </style>
<script type="text/javascript">
	$(function () {
		//1采用属性增加样式(改变id=one的样式)"  id="b1"/>
		$("#b1").click(function () {
			// $("#one").attr("class","second");//方式1
			$("#one").prop("class","second");//方式1
		});
		//2--添加样式"  id="b2"/>

		$("#b2").click(function () {
			$("#one").addClass("second");
		});
		//3移除样式"  id="b3"/>
		$("#b3").click(function () {
			$("#one").removeClass("second");
		});
		//4切换样式"  id="b4"/>
		$("#b4").click(function () {
			$("#one").toggleClass("second");
		});
		//5通过css()获得id为one背景颜色"  id="b5"/>
		$("#b5").click(function () {
			var backgroundColor=$("#one").css("backgroundColor");
			alert(backgroundColor)
		});
		//6通过css()设置id为one背景颜色为绿色"  id="b6"/>
		$("#b6").click(function () {
			 $("#one").css("backgroundColor","green");
		});
	});
</script>   
	</head>	 
	<body>				
		 <input type="button" value="保存"  class="mini" name="ok"  class="mini" />
		 <input type="button" value="1--采用属性增加样式(改变id=one的样式)"  id="b1"/>
		 <input type="button" value="2--给id为one的div添加样式"  id="b2"/>
		 <input type="button" value="3--id为one的div移除样式"  id="b3"/>
		 <input type="button" value="4--切换样式"  id="b4"/>
		 <input type="button" value="5--通过css()获得id为one背景颜色"  id="b5"/>
 		 <input type="button" value="6--通过css()设置id为one背景颜色为绿色"  id="b6"/>
 
		 <h1>有一种奇迹叫坚持</h1>
		 <h2>自信源于努力</h2>
		 
	     <div id="one">
	    	 id为one 
		 </div>	
	</body>	
</html>

1.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():将对象的后代元素全部清空,但是保留当前对象以及其属性节点

 

	<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 () {
				// $("#city").append($("#fk"));
				$("#fk").appendTo($("#city"));
			});

		 // <input type="button" value="将反恐放置到city的最前面"  id="b2"/>
		 $("#b2").click(function () {
			 $("#city").prepend($("#fk"));
			 $("#fk").prependTo($("#city"));
		 });

		 // <input type="button" value="将反恐插入到天津后面"  id="b3"/>
		 $("#b3").click(function () {
			 //$("#tj").after($("#fk"));
			 //insertAfter
			 $("#fk").insertAfter($("#tj"));
		 });

		 // <input type="button" value="将反恐插入到天津前面"  id="b4"/>
		 $("#b4").click(function () {
			 //$("#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>

	<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="删除<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();
		});
	});


</script>
	</head>
	 
	<body>
	<input type="button" value="删除<li id='bj' name='beijing'>北京</li>"  id="b1"/>
	<input type="button" value="删除所有的子节点   清空元素中的所有后代节点(不包含属性节点)"  id="b2"/>

		 <ul id="city">
		 	 <li id="bj" name="beijing">北京</li>
			 <li id="tj" name="tianjin">天津</li>
			 <li id="cq" name="chongqing">重庆</li>
		 </ul>
		 <p class="hello">Hello</p> how are <p>you?</p> 
	</body>
	
	
   
</html>

2 练习

2.1 列:表格隔行换色

<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script  src="../../js/jquery-3.3.1.min.js"></script>
		
		<script>
			$(function () {
				//需求:将数据行的奇数行背景色设置为 pink,偶数行背景色设置为 yellow
				$("tr:gt(1):odd").css("backgroundColor","pink");
				$("tr:gt(1):even").css("backgroundColor","yellow");
			});

		</script>
	</head>
	<body>
		<table id="tab1" border="1" width="800" align="center" >
			<tr>
				<td colspan="5"><input type="button" value="删除"></td>
			</tr>
			<tr style="background-color: #999999;">
				<th><input type="checkbox"></th>
				<th>分类ID</th>
				<th>分类名称</th>
				<th>分类描述</th>
				<th>操作</th>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>1</td>
				<td>手机数码</td>
				<td>手机数码类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>2</td>
				<td>电脑办公</td>
				<td>电脑办公类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>3</td>
				<td>鞋靴箱包</td>
				<td>鞋靴箱包类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>4</td>
				<td>家居饰品</td>
				<td>家居饰品类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
		</table>
	</body>
</html>

2.2 列:全选与全部选

<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script  src="../../js/jquery-3.3.1.min.js"></script>
		<script>
			function selectAll(obj){
				$(".itemSelect").prop("checked",obj.checked);
			}

		</script>
	</head>
	<body>
		<table id="tab1" border="1" width="800" align="center" >
			<tr>
				<td colspan="5"><input type="button" value="删除"></td>
			</tr>
			<tr>
				<th><input type="checkbox" onclick="selectAll(this)" ></th>
				<th>分类ID</th>
				<th>分类名称</th>
				<th>分类描述</th>
				<th>操作</th>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>1</td>
				<td>手机数码</td>
				<td>手机数码类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>2</td>
				<td>电脑办公</td>
				<td>电脑办公类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>3</td>
				<td>鞋靴箱包</td>
				<td>鞋靴箱包类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>4</td>
				<td>家居饰品</td>
				<td>家居饰品类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
		</table>
	</body>
</html>

2.3 qq表情选择

<html>
<head>
    <meta charset="UTF-8" />
    <title>QQ表情选择</title>
	 <script  src="../../js/jquery-3.3.1.min.js"></script>
    <style type="text/css">
    *{margin: 0;padding: 0;list-style: none;}

    .emoji{margin:50px;}
    ul{overflow: hidden;}
    li{float: left;width: 48px;height: 48px;cursor: pointer;}
    .emoji img{ cursor: pointer; }
    </style>
	<script>

        //需求:点击qq表情,将其追加到发言框中
        $(function () {
            $("ul img").click(function () {
                $("p").append($(this).clone())
            });
        });
		
		
    </script>
	
</head>
<body>
    <div class="emoji">
        <ul>
            <li><img src="img/01.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/02.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/03.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/04.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/05.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/06.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/07.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/08.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/09.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/10.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/11.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/12.gif" height="22" width="22" alt="" /></li>
        </ul>
        <p class="word">
            <strong>请发言:</strong>
            <img src="img/12.gif" height="22" width="22" alt="" />
        </p>
    </div>
</body>
</html>

 

2.4 多选下拉列表左右移动

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script  src="../../js/jquery-3.3.1.min.js"></script>


		<style>
			#leftName , #btn,#rightName{
				float: left;
				width: 100px;
				height: 300px;
			}
			#toRight,#toLeft{
				margin-top:100px ;
				margin-left:30px;
				width: 50px;
			}

			.border{
				height: 500px;
				padding: 100px;
			}
		</style>

		<script>

			//需求:实现下拉列表选择条目左右选择功能
			$(function () {
				$("#toRight").click(function () {
					$("#rightName").append($("#leftName>option:selected"));
				});
				$("#toLeft").click(function () {
					$("#rightName>option:selected").appendTo($("#leftName"));
				});
			});

		</script>



	</head>
	<body>
		<div class="border">
			<select id="leftName" multiple="multiple">
				<option>张三</option>
				<option>李四</option>
				<option>王五</option>
				<option>赵六</option>
			</select>
			<div id="btn">
				<input type="button" id="toRight" value="-->"><br>
				<input type="button" id="toLeft" value="<--">

			</div>

			<select id="rightName" multiple="multiple">
				<option>钱七</option>
			</select>

		</div>


	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值