JQuery框架

🍓JQuery框架

简单说:就是对JS的封装,简化,提高了开发效率


目录

1. ⭐JQuery选择器
2. ⭐JQuery操作属性
3. ⭐JQuery操作元素的样式
4. ⭐JQuery操作元素内容
5. ⭐JQuery事件
6. ⭐JQuery的Ajax


一、JQuery选择器
1、- 基础选择器

前提引入JQuery框架: <script src="…/…/js/jquery-3.6.0.js"></script>
body》》》

<body>
    <ul id="u1" class="u1">
        <li id="li1">
            <ul value="ssss">
                <li></li>
            </ul>
        </li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    <ul id="u2">
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
</body>

script》》》

<script>
//基础选择器
        console.log($("#u1"));//id
        console.log($("li"));//元素
        console.log($("*"));//通用
        console.log($(".u1"));//类选择器
</script>

在这里插入图片描述


2、- 群组选择器

body》》》

<body>
    <ul id="u1" class="u1">
        <li id="li1">
            <ul value="ssss">
                <li></li>
            </ul>
        </li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    <ul id="u2">
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
</body>

script》》》

<script>
 console.log($(".u1,#u2"));
</script>

在这里插入图片描述


3、- 层次选择器

body》》》

<body>
    <ul id="u1" class="u1">
        <li id="li1">
            <ul value="ssss">
                <li></li>
            </ul>
        </li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    <ul id="u2">
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
</body>

script》》》

<script>
//层次选择器
 console.log($("#u1 li"));
        console.log($("#u1>li"));
        console.log($("#u1+ul"));
        console.log($("#li1~li"));
</script>

在这里插入图片描述


4、- 属性选择器

body》》》

<body>
    <ul id="u1" class="u1">
        <li id="li1">
            <ul value="ssss">
                <li></li>
            </ul>
        </li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    <ul id="u2">
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
</body>

script》》》

<script>
 // //属性选择器
        console.log($("[id]"));
        console.log($("li[id]"));
        console.log($('ul[value="ssss"]'));
</script>

在这里插入图片描述

5、- 表单选择器

body》》》

<body>
 <form id="form">
        <p>
           姓名: <input type="text">
        </p>
        <p>
            姓名: <input type="text">
         </p>
         <p>
            姓名: <input type="text">
         </p>
        <p> 
            性别:
            男 <input type="radio" name="sex" checked><input type="radio" name="sex" >
        </p>
      
    </form>
</body>

script》》》

<script>
 // //表单选择器
        console.log($(":text"));
        console.log($(":radio"));
</script>

在这里插入图片描述

6、- 过滤选择器

body》》》

<body>
    <ul id="u1" class="u1">
        <li id="li1">
            <ul value="ssss">
                <li></li>
            </ul>
        </li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    <ul id="u2">
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
</body>

script》》》

<script>
      //过滤选择器
        console.log($("li:odd"));
        console.log($("li:even"));
</script>

在这里插入图片描述


二、JQuery操作属性
  • 分类:固有属性:href、type、id。自定义属性:eg:“people”…。Boolean属性: checked、selected、disabled
1、获取属性
  • attr(“属性名”):获取固有属性,自定义
  • prop(“属性名”):固有属性
<body>
    <div id="div" class="div" demo="12345">
        好家伙
    </div>
    <p><input id="in1" type="radio" name="sex" checked><input id="in2" type="radio" name="sex" >
    </p>
    <script>
        //attr和prop固定属性
        var d1=$("#div").attr("id");
        var d2=$("#div").prop("id");
        console.log(d1);
        console.log(d2);
        //自定义属性
        console.log($("#div").attr("demo"));//12345
        console.log($("#div").prop("demo"));//undefined
    </script>
</body>

在这里插入图片描述


2、设置属性
  • attr(‘属性名’,‘属性值’):修改固有和自定义
  • prop(‘属性名’,‘属性值’):修改自定义
<body>
    <div id="div" class="div" demo="12345">
        好家伙
    </div>
    <p><input id="in1" type="radio" name="sex" checked><input id="in2" type="radio" name="sex" >
    </p>
    <script>
        var d1=$("#div").attr("class","div1");//jQuery.fn.init(1) [div#div.div1]
        var d2=$("#div").prop("class","div1");//jQuery.fn.init(1) [div#div.div1]
        console.log(d1);
        console.log(d2);
    </script>
</body>

在这里插入图片描述


3、删除属性
  • removeAttr(‘属性名’):全能
<body>
    <div id="div" class="div" demo="12345">
        好家伙
    </div>
    <p><input id="in1" type="radio" name="sex" checked><input id="in2" type="radio" name="sex" >
    </p>
    <script>
        //删除属性
        console.log($("#div").removeAttr("demo"));//删除的属性jQuery.fn.init(1) [div#div.div1]
    </script>
</body>

在这里插入图片描述


4、修改boolean属性
<body>
    <div id="div" class="div" demo="12345">
        好家伙
    </div>
    <p><input id="in1" type="radio" name="sex" checked><input id="in2" type="radio" name="sex" >
    </p>
    <script>
    //修改boolean
        console.log($("#in1").attr("checked",null));//checked
        console.log($("#in2").prop("checked",true));//true
        console.log($("#in2").prop("checked",false));
        console.log($("#in1").attr("checked",'checked'))
    </script>
</body>

在这里插入图片描述


三、JQuery操作元素的样式
  • $(“选择器”).css(“属性名”,“属性值”)
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../../js/jquery-3.6.0.js"></script>
</head>
<body>
    <div id="d1" class="div" width=100px>
        <p><span>好家伙!!</span></p>
    </div>
    <script>
        $(".div").css("background","blue");
        $("#d1").css("font-size",30);
       $("#d1").css({'width':'100px','height':'100px'});
    </script>
</body>
</html>

结果》》
在这里插入图片描述


四、JQuery操作元素内容
1、创建,插入内容和获取
  • JS中操作内容的方法:

    • innerHTML:可以字符串可以是键值对
    • innerText:只能是字符串
  • JQ中获取内容

    • html():相当于innerHTML
    • val():获取文本框输入的内容
    • text():相当于innerText
  • JQ中插入内容

    • $(“选择器”).prepend(div):将div插入到指定元素内
    • JQuery对象.prependTo($("#box")):将jq插入指定id=box元素内
    • 标签创建:$("元素内容")

测试》》》

<body>
    <div id="div" style="width: 300px;height: 300px;border: orange solid 3px;">
        <p>好家伙</p>
    </div>
    <input id="input" type="text">
    <button onclick="fun1()">按钮</button>
    
    <script>
        // 获取元素内的=值
        console.log($("#div").html())//<p>好家伙</p>
        console.log($("#div").text())//好家伙
        //头插入信息
        $("#div").prepend("好家伙~~");
        //插到div标签前面
        $("<p>好人</p>").prependTo($("#div"));
        //val()
        function fun1(){
            console.log($("#input").val())//获取文本框输入的内容
        }
        
    </script>
</body>

结果》》》

在这里插入图片描述


before/after在元素之前或之后插入

<body>
    <div id="div" style="border: blanchedalmond 3px solid;">
        彩虹海
    </div>
    <script>
        //创建一个标签
        var p=$('<p>星游记</p>');
        var p1=$('<p>在启航~</p>');
        //将p标签插到div标签之前
        $("#div").before(p);
        //将p1标签插到div之后
        $("#div").after(p1);
    </script>
</body>

在这里插入图片描述


2、删除和遍历
  • remove():删除所有内容包括本身
<body>
    <ul id="ul" style="border: pink solid 4px;">
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
    </ul>
    <script>
        $("#ul").remove();
    </script>
</body>

在这里插入图片描述


  • empty():清空,保留本身标签
<body>
    <ul id="ul" style="border: pink solid 4px;">
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
        <li>1111</li>
    </ul>
    <script>
        $("#ul").empty();
        
    </script>
</body>

在这里插入图片描述

  • 遍历:each():$(选择器).each(function(index,ele));
<body>
    <div id="div">
       <ul id="ul" style="border: pink solid 4px;">
        <li>1111</li>
        <li>2222</li>
        <li>3333</li>
        <li>4444</li>
        <li>5555</li>
        <li>6666</li>
    </ul> 
    <p>22222</p>
    </div>
    
    <script>
        $("li").each(function(){
            alert($(this).text());//JQ的方式
            console.log(this.innerText)//js方式
        })   
    </script>
</body>

在这里插入图片描述


五、JQuery事件
  • JS中的加载事件不可重复定义,JQ可以重复定义
  • 加载事件方式:
    • ①$(function(){})
    • ②JQuery(function(){})
    • ③$(document).ready(function(){})
1、加载事件
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../../js/jquery-3.6.0.js">
    </script>
     <script>
        //js
        window.onload=function(){
            console.log("js加载~~~~~");
        }
        //jq
        $(function(){
            console.log("jq加载中方式一~~~~");
        })
        jQuery(function(){
            console.log("jq加载中方式二~~~~");
        })
        $(document).ready(function(){
            console.log("jq加载中方式三~~~~");
        })  
    </script>
</head>

在这里插入图片描述


2、事件绑定
  • 单绑定:$(“选择器”).bind(“事件名”,function(){})
  • 多绑定:$(“选择器”).bind(“事件名”,function(){}).bind()……
  • 多绑定:$(“选择器”).bind({“事件名”:function(),“事件名”:function()……})
<body>
    <div id="div1">
        好家伙
    </div>
    <script>
        //写法一
        $("#div1").bind("click",function(){
            alert('警告一次!');
        }).bind("dbclick",function(){
            alert("牛皮~");
        }).bind("mouseout",function(){
            console.log("移动出来~")
        })
        //写法二
        $("#div1").bind({
            "click":function(){alert('警告一次!')},
            "dbclick":function(){alert("牛皮~")},
            "mouseout":function(){console.log("移动出来~")}
        })
    </script>
</body>

在这里插入图片描述


六、JQuery的Ajax
  • AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新。
  • 重点:异步无刷新技术

Ajax.html文件》》》

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../../js/jquery-3.6.0.js">
    </script>
</head>
<body>
    <input type="button" value="按钮" id="btn">
    
    <script>
    //绑定单击事件
    $("#btn").bind("click",function(){
				console.log("我要发送ajax请求了!!!!");
				
				//ajax
				$.ajax({
					type: "http:",
					url : "data.json",
					data:{
						"name":"abc",
						"age":18
					},
					dataType:"json",
					success : function(data){
						console.log(data);
						console.log(data.code,data.msg);
						console.log(data.data[0].username);
					},
					error:function(){
						console.log("失败了");
					}
				});
			});
       
    </script>
</body>
</html>

data.json文件》》》

{
	"code" : 0 ,
	"msg" : "成功",
	"data" : [
		{
			"name":"abc",
			"password":"1234",
			"age":18
		},
		{
			"username":"lisi",
			"password":"4321",
			"age":28
		}
	]
}

此处由于使用的是edge浏览器:导致跨域访问,只能使用只支持协议方案:http, data, chrome-extension, edge, https, chrome-untrusted。

结果》》》

在这里插入图片描述


Ajax未完……

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JQuery框架可以通过使用CSS3属性和插件来实现抽奖功能。其中,可以使用jQuery点击翻牌抽奖游戏代码和queryRotate插件来实现这个功能。 以下是一个使用jQuery点击翻牌抽奖游戏代码和queryRotate插件的示例: ```html <!DOCTYPE html> <html> <head> <title>抽奖游戏</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="jqueryRotate.js"></script> <style> .card { width: 100px; height: 100px; background-color: #ccc; border-radius: 5px; text-align: center; line-height: 100px; font-size: 24px; cursor: pointer; } </style> </head> <body> <div class="card">点击翻牌</div> <script> $(document).ready(function() { $('.card').click(function() { $(this).rotate({ angle: 0, animateTo: 180, duration: 1000, callback: function() { var randomNumber = Math.floor(Math.random() * 10) + 1; $(this).text(randomNumber); $(this).rotate({ angle: 180, animateTo: 360, duration: 1000 }); } }); }); }); </script> </body> </html> ``` 在上面的示例中,我们首先引入了jQuery库和queryRotate插件的脚本文件。然后,我们定义了一个具有.card类的div元素作为翻牌区域。通过点击该区域,我们可以触发翻牌动画和随机数字的显示。 在JavaScript代码中,我们使用了jQuery的.click()方法来监听.card元素的点击事件。当点击事件发生时,我们使用queryRotate插件的.rotate()方法来实现翻牌动画效果。在翻牌动画完成后,我们生成一个随机数字,并将其显示在.card元素中。最后,我们再次使用.rotate()方法来实现翻牌动画的还原。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

每日小新

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

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

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

打赏作者

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

抵扣说明:

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

余额充值