Jquery操作DOM对象


本章目标

  • 使用Jquery操作网页元素
  • 使用JQuery操作文本与属性值内容
  • 使用JQuery操作DOM节点
  • 使用Jquery遍历DOM节点
  • 使用JQuery操作CSS-DOM

一.DOM操作分类

二.JQuery中的DOM操作

 内容操作

HTML代码操作

语法: 

#获取当前JQ对象内的所有代码并保存在变量str中
var str = JQ.html();
#将变量str的内容(包含代码)注入到当前JQ对象中并转译代码
JQ.html(str);
#将变量str的内容(包含代码)注入到当前JQ对象中但不转译代码
JQ.text(str);

 演示案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input id="button" type="button" value="点击此处条用html()函数"/>
		<div class="div"></div>
		<script src="jq/jquery-3.7.1.js"></script>
		<script type="text/javascript">
			$(function(){
				$("#button").click(function(){
					var str= $("ul").html();
					$(".div").html(str);
				});
			});
		</script>
	</body>
</html>

 属性值操作

 演示案例

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>搜索框示例</title>  
</head>  
<body>  
	<input type="text" id="searchInput" placeholder="输入搜索内容" value="">  
	<button id="searchButton">搜索</button>  
	<script src="jq/jquery-3.7.1.js"></script>
	<script type="text/javascript">  
		$(document).ready(function() {  
        //当按钮被点击时  
			$("#searchButton").click(function() {  
            //获取搜索框value的值  
				var searchValue = $("#searchInput").val();          
				window.alert(searchValue);
			});  
		});
	</script>  
</body>  
</html>

 节点操作

  • 插入节点

 演示案例

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>jQuery Append, After, Before 示例</title>  
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>  
</head>  
<body>  
  
<div id="container">  
    <p id="para1">段落1</p>  
    <p id="para2">段落2</p>  
    <p id="para3">段落3</p>  
</div>  
<script src="jq/jquery-3.7.1.js"></script>
<script type="text/javascript">  
      $(document).ready(function() {  
          // 使用 append() 在容器末尾添加新元素  
          $('#container').append('<p>使用append()添加的新段落</p>');       
          // 使用 after() 在指定元素后面添加新元素  
          $('#para2').after('<p>使用after()在段落2后面添加的新段落</p>');  
          // 使用 before() 在指定元素前面添加新元素  
          $('#para3').before('<p>使用before()在段落3前面添加的新段落</p>');  
      });
</script>  
  
</body>  
</html>

  •  删除节点
#删除节点
JQ.rmove();
#清空节点
JQ.empty();
  •  复制节点

演示案例: 

 $(function(){
			  $("#para1").click(function(){
				  var NewNode = $(this).clone(true);
				  $('#container').append(NewNode);
			  });
		  });	
      });

在插入节点案例的代码中添加上述代码可实现点击段落1即可复制段落1

节点属性操作

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>jQuery操作节点属性案例</title>  
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>  
</head>  
<body>  
  
<img id="myImage" src="images/book.gif" alt="" width="300" height="200">  
  
<button id="readButton">读取属性</button>  
<button id="updateButton">更新属性</button>  
<button id="removeButton">删除属性</button>  
<script src="jq/jquery-3.7.1.js"></script>  
<script type="text/javascript">  
   $(document).ready(function() {  
       // 读取属性  
       $('#readButton').click(function() {  
           var src = $('#myImage').attr('src');  
           var alt = $('#myImage').attr('alt');  
           alert('图片源(src): ' + src + '\n替代文本(alt): ' + alt);  
       });  
     
       // 更新属性  
       $('#updateButton').click(function() {  
           $('#myImage').attr({  
			   //点击更新属性后图片将切换
               src:"images/html.png"
           });  
       });  
     
       // 删除属性  
       $('#removeButton').click(function() {  
           $('#myImage').removeAttr('width');  
           $('#myImage').removeAttr('height');  
       });  
   });
</script>  
  
</body>  
</html>

 点击”读取属性“将会弹出图片属性,点击"更新属性"将会更新图片

 节点遍历

 演示案例

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>jQuery遍历节点元素案例</title>   
</head>  
<body>  
  
<ul id="myList">  
    <li>列表项 1</li>  
    <li>列表项 2</li>  
    <li>列表项 3</li>  
    <li>列表项 4</li>  
    <li>列表项 5</li>  
</ul>  
<script src="jq/jquery-3.7.1.js"></script>  
<script type="text/javascript">
	$(function(){
		var nodes = $("#myList").children();
		window.alert(nodes.length);
	}); 
</script>  
</body>  
</html>


总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北 染 星 辰

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

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

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

打赏作者

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

抵扣说明:

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

余额充值