首页 前端知识 Jquery (第三章笔记)

Jquery (第三章笔记)

2024-08-18 00:08:37 前端知识 前端哥 735 316 我要收藏

使用Jquery操作DOM节点

如有不会,案例还有笔记在(chap3)

dom : 文档对象模型    就是HTML元素  

js中如何操作DOM节点

document.write("<p>我是p标签</p>");        
缺点:无法在指定的位置生成元素

$()   函数的2个用法:

用法1:放入一个字符串(选择器)表示获取元素   例如$("p") $("#abc")  $(".del") 
用法2:放入一个函数,表示文档就绪函数   例如  $(function(){代码...})

用法3:如下所示

jquery创建节点的方法如下

<body>

		<div>
			<p>111</p>
			<p>222</p>
			<p>333</p>
			<p>444</p>
			</div>

1.创建节点 语法如下:
            // $("xxxxx"); xxx表示你要创建的dom元素   例如  $("<p>我是p标签<p>");
            
            //此时仅仅是创建了节点.理解为是孤儿节点.  需要将其插入到某个节点中.
            //例如 放入body标签中 方法div标签中等等.

插入方法1:append() 表示插入到指定元素内部的尾端.

语法: $("aa").append("bb")  表示将bb插入到aa内部的尾端

插入方法2:prepend() 表示插入到指定元素内部的首端.

语法: $("aa").prepend("bb")  表示将bb插入到aa内部的首端

创建与插入使用案例

需求如下:
  在div的尾端插入一个值为555的p标签
     1.创建一个值为555的p标签
            // let a =  $("<p>555<p>");
            // //调用方法即可
            // $("div").append(a);

需求如下:
            //在div的首端插入一个值为000的p标签
            // //1.创建一个值为000的p标签
            // let a =  $("<p>000<p>");
            // //调用方法即可
            // $("div").prepend(a);

插入方法3:after() 表示插入到指定元素的后面. 兄弟关系

语法: $("aa").after("bb")  表示将bb插入到aa的后面

需求如下:

            //在111的后面插入一个1.5 1.5 1.5
            //1.创建一个值为000的p标签
            // let a =  $("<p>1.5 1.5 1.5<p>");
            //调用方法即可
            // $("p:eq(0)").after(a);

插入方法4:before() 表示插入到指定元素的前面. 兄弟关系

语法: $("aa").before("bb")  表示将bb插入到aa的前面

需求如下:
            //在333的前面插入一个2.5 2.5 2.5
            //1.创建一个值为2.5 2.5 2.5的p标签
            // let a =  $("<p>2.5 2.5 2.5<p>");
            //调用方法即可
            // $("p:eq(2)").before(a);

上述的方法 可以实现 在任意位置创建新的节点.

删除任意位置的节点

下述的方法 可以实现 删除任意位置的节点:

方法1:  remove()

语法如下:  $("xx").remove();  将xx元素彻底删除  不仅删除了值 而且删除了标签  

需求如下: 将444的p标签删除
$("p:eq(3)").remove();

方法2:  empty()  清空

语法如下:  $("xx").empty();  将xx元素删除值 但是不删除标签  

需求如下: 将444的p标签删除
  $("p:eq(3)").empty();

克隆节点

语法:  $("xxx").clone();  将xxx元素复制一份

注意事项:上一步仅仅只是复制   此时理解为孤儿节点. 任然需要通过append  prepend  after  before进行粘贴
           例如:将111复制一份到444的后面
            let a = $("p:eq(0)").clone();
            $("p:eq(3)").after(a);

小案例

<body>
		<button>按钮</button>
	
		<script src="js/jquery.js"></script>
		<script>
			//需求如下:点击按钮,实现按钮的复制.1-2-4-8-16-32-64
			$("button").click(function(){
				// alert(123);
				let a  = $("button:eq(0)").clone(true);
				
				$("button").after(a);
			});
			
			//备注:clone仅仅是复制了样式  如果想要复制功能 只需要在clone()加上一个true

		</script>
	</body>

show和hide方法

$("xx").hide();隐藏XX元素
$("xx").show();显示XX元素
$("xx").toggle();来回切换:显示或隐藏XX元素 

<body>
		<button>按钮</button> <br>
		<img src="img/0.jpg"> 
		
		<script src="js/jquery.js"></script>
		<script>
			
			//$("xx").hide();隐藏XX元素
			//$("xx").show();显示XX元素
			//$("xx").toggle();来回切换:显示或隐藏XX元素 
			
			$("button").click(function(){
				
				// if($("img").css("display")=="inline"){
				// 	$("img").hide();
				// }else{
				// 	$("img").show();
				// }
				
				$("img").toggle();
				
			});
		
		</script>

addClass()和removeClass()方法

jquery对象的特点:  调用任意方法的返回值 依然是它本身

<style>
			.a{
				font-size: 50px;
			}
			
			.b{
				color: red;
			}
			
			.c{
				background-color: aqua;
			}
		</style>
		
	</head>
	<body>
		<p>你好</p>
			
		<script src="js/jquery.js"></script>
		<script>
			
			//$("xx").addClass("a");给元素添加类名为a
			//$("xx").removeClass("aa);给元素移除类名为a
			
			
			// $("p").addClass("a");
			// $("p").addClass("b");
			// $("p").addClass("c");
			
			//jquery对象的特点:  调用任意方法的返回值 依然是它本身
			$("p").addClass("a").addClass("b").addClass("c").click(function(){
				alert(123);
			}).mouseover(function(){
				alert(567)
			}).removeClass("c");				
		</script>
	</body>

如何获取当前元素

$("xx").index();返回当前元素在兄弟中下标   
            $("button").click(function(){
                // $(this);获取当前的元素
                alert(  $(this).index()  )    
            });

<body>
	    <button>按钮1</button>
		<button>按钮2</button>
		<button>按钮3</button>
		<button>按钮4</button>
		<button>按钮5</button>
		<button>按钮6</button>
		<button>按钮7</button>
		
		<script src="js/jquery.js"></script>
		<script>
			
			//$("xx").index();返回当前元素在兄弟中下标
			
			$("button").click(function(){
				// $(this);获取当前的元素
				alert(  $(this).index()  )	
			});
			
		</script>
	</body>

轮播图简化版案例

<style>
			img{
				width: 400px;
				height: 150px;
			}
			
			li{
				float: left;
				margin-left: 30px;
				color: pink;
			}
			
			ul{
				margin-left: 300px;
				margin-top: -20px;
				position: absolute;
			}
		
		</style>
	</head>
	<body>
		<div align="center">
			<img src="img/0.jpg" />
			<ul>
				<li></li>
				<li></li>
				<li></li>
				<li></li>
				<li></li>
				<li></li>
			</ul>
		</div>	
		<script src="js/jquery.js"></script>
		<script>
			$("li").mouseover(function(){
				//获取当前li标签的下标
				let index = $(this).index();
				$("img").attr("src","img/"+index+".jpg");
				indexImg = index;
				$("li").css("color","pink");
				$("li:eq("+index+")").css("color","red");
			})
	
			var indexImg = 0;
			setInterval(function(){
				indexImg++;
				if (indexImg==6) {
					indexImg = 0;
				}
	
				$("img").attr("src","img/" +  indexImg +".jpg");

				$("li").css("color","pink");
				$("li:eq("+indexImg+")").css("color","red");
				
			},2000)
			
		</script>
	</body>

each方法

each方法的语法:   $("xx").each(   function(){  代码体   }   );

遍历xx元素.每遍历一次  就执行一次代码体.

这种写法 较为局限 但是也很重要  
       $("p").text("你好");

<body>
		
		<p></p>
		<p></p>
		<p></p>
		<p></p>
		<p></p>
	
		<script src="js/jquery.js"></script>
		<script>
			
			//each方法的语法:   $("xx").each(   function(){  代码体   }   );
			//遍历xx元素.每遍历一次  就执行一次代码体.
	
			//这种写法 较为局限 但是也很重要  
			// $("p").text("你好");
	
			var arr = ["这是第1条新闻","这是第2条新闻","这是第3条新闻",
            "这是第4条新闻","这是第5条新闻"]
			
			$("p").each(function(){
				$(this).text(  arr[$(this).index()]   );
			});

		</script>
		
	</body>

删除上一级的标签(父级)

<body>
		<div>
			<p>
				<font>啊啊啊</font>
			</p>
		</div>

		<input type="text" id="a" />
		<input type="text" id="b" />
		<input type="text" id="c" />
		
		<script src="js/jquery.js"></script>
		<script>
			$("#c").focus();

			//需求:删除font标签
			$("font").remove();
			
			//需求:删除p
			$("p").remove();
			
			//需求:删除font标签的父亲
			$("p").parent().remove();
	</script>
	</body>


           

转载请注明出处或者链接地址:https://www.qianduange.cn//article/15967.html
标签
评论
发布的文章

jQuery 教程 (一)

2024-08-24 23:08:43

select 多选联动

2024-08-24 23:08:41

jQuery2 高级教程(九)

2024-08-24 23:08:22

使用CDN提高jQuery加载速度

2024-08-24 23:08:21

jQuery2 秘籍(七)

2024-08-24 23:08:20

【ECharts】雷达图

2024-08-24 23:08:18

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!