JQuery 基础

什么是JQuery

JQuert是一个简洁,快速并且功能丰富的JS框架,可以轻松的选择和控制HTML元素,可以显著的提高操作效率。

如何使用JQuery

首先是在HTML中写入下方代码:src 属性指明了JQuery库所在的URL

复制代码
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

另一种方式方式是把JQuery下载到本地(建议)并且放在当前项目

JQuery语法

基础语法

复制代码
$(Selector).action()

Selector: 选择器1:用来查询元素

action:执行相应的操作

JQuery的代码一般写在 document ready 中,这是为了防止文档在完全加载之前运⾏jQuery代码

代码示例:

复制代码
<body>
    <button type="button">点我消失</button>
    <script>
        $(document).ready(function(){
            $('button').click(function(){
                $(this).hide();
            });
        });
    </script>
</body>

点击后就会消失

详解: $(document).ready 的主要作用是等页面的全部元素加载完成后再开始执行代码内容,如果没有这个代码,那么有可能按钮还没加载出来,代码已经执行了

function(){ } 是我们进行操作后,需要执行的操作,例如 $('button').click(function(){

) 就是在我们点击 button 按钮之后,执行 $(this.hide())操作

JQuery选择器

JQuert事件

想要构建动态页面,当用户对页面进行操作的时候,就会产生一个个事件,这些事件都会被JS捕捉到,从而进行处理

事件由三部分组成:

1.事件源:哪个元素触发的

2.事件类型:是点击,选中还是修改等等

3.事件处理程序:如何进行处理

例如我们上面实现的隐藏 button 按钮,就是一个点击事件

常见事件:

操作元素:

示例:

获取元素内容:

复制代码
<div id="test"><span>你好</span></div>
<input type="text" value="hello">
<script>
    $(document).ready(function(){
        var html = $("#test").html();
        console.log("html内容为"+html);

        var text = $("#test").text();
        console.log("文本内容为"+text);

        var inputVal = $("input").val();
        console.log(inputVal);
    });
</script>

我们打开控制台就可以看到运行结果:

详解:

代码中我们用 var 类型的数据来接收内容,用 console.log 方法来将内容打印到控制台上。

var 是 JavaScript 中用来声明变量的一个关键字,除了 var 还有 let 和 const

设置元素内容:

复制代码
<div id="test"></div>
<div id="test2"></div>
<input type="text" value="">
<script>
    $(document).ready(function(){
        $("#test").html('<h1>设置html</h1>');
        $("#test2").text('<h1>设置text</h1>');
        $("input").val("设置内容");
    });
</script>

.html() 方法传入参数的时候,会将参数内容作为HTML代码插入到元素内部。

.text() 方法会将参数当作纯文本处理。

.val() 为输入框设置初始值,赋值给表单的value属性。

获取CSS属性

复制代码
    <div type="font-size: 36px;"> 我是一个小文本</div>
    <script>
        $(function(){
            var Size = $("div").css("font-size");
            console.log(Size);
        });
    </script>

设置CSS属性

复制代码
    <div>我是文本</div>
    <script>
        $(function(){
            $("div").attr("id","666");

            var Size = $("div").attr("id");
            console.log(Size);
        });
    </script>

attr() 和 css() 的区别

猜数字大小游戏:

复制代码
    <button type="button" id="reset">重开一局游戏</button>
    <br>
    <input type="text" id="number">
    <button type="button" id="button">猜</button>
    <br>
    已经猜的次数:<span id="count">0</span>
    <br>
    结果:<span id="result"></span>
    <script>
        $(function(){
            var count = 0;
            var guessNumber = Math.floor(Math.random()*100)+1;
            console.log(guessNumber);
            $("#button").click(function(){
            count++;
            $("#count").text(count);
            var userGuess = parseInt($("#number").val());
            if(userGuess == guessNumber){
                $("#result").text("猜对了")
            }else if(userGuess < guessNumber){
                $("#result").text("猜大了")
            }else{
                $("#result").text("猜小了")
            }
            });
        });
        $("#reset").click(function(){
            guessNumber = Math.floor(Math.random()*100)+1;
            count = 0;
            $("#count").text(count);
            $("#result").text("");
            $("#number").val("");
        });
    </script>

表白墙:

复制代码
</head>
    <style>
    * {
        margin: 0;
        padding: 0;
}

    .container {
        width: 400px;
        margin: 0 auto;
}

    h1 {
        text-align: center;
        padding: 20px 0;
}

    p {
        color: #666;
        text-align: center;
        font-size: 14px;
        padding: 10px 0;
}

    .row {
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
}
    span {
        width: 100px;
        line-height: 40px;
}

    .edit {
        width: 200px;
        height: 30px;
}

    .submit {
        width: 304px;
        height: 40px;
        color: white;
        background-color: orange;
        border: none;
}
    </style>
    <body>
    <div class="container">
            <h1>表白墙</h1>
            <p>输入后点击提交</p>

        <div class="row">
            <span>谁:</span>
            <input type="text" class="edit">
        </div>

        <div class="row">
            <span>对谁说:</span>
            <input type="text" class="edit">
        </div>
        
        <div class="row">
            <span>说什么</span>
            <input type="text" class="edit">

        </div >
        
        <div class="row">
            <input type="button" value="提交" class="submit">
        </div>
    </div>
    <script>
        $(function(){
            $(".submit").click(function(){
                var from=$('.edit:eq(0)').val();
                var to=$('.edit:eq(1)').val();
                var message=$('.edit:eq(2)').val();
                console.log(from+"对"+to+"说"+message);
                if(from == ''|| to =='' || message == ''){
                    return;
                }
                var html = '<div class="row">'+ from +'对' + to +'说'+ message + '<div>';
                $('.container').append(html);
                $(".text").val("");
            });
        });
    </script>
相关推荐
Tzarevich2 小时前
React Hooks 全面深度解析:从useState到useEffect
前端·javascript·react.js
指尖跳动的光2 小时前
前端如何通过设置失效时间清除本地存储的数据?
前端·javascript
长空任鸟飞_阿康2 小时前
MasterGo AI 实战教程:10分钟生成网页设计图(附案例演示)
前端·人工智能·ui·ai
GDAL3 小时前
从零开始上手 Tailwind CSS 教程
前端·css·tailwind
于慨3 小时前
dayjs处理时区问题、前端时区问题
开发语言·前端·javascript
哀木3 小时前
理清 https 的加密逻辑
前端
拖拉斯旋风3 小时前
深入理解 LangChain 中的 `.pipe()`:构建可组合 AI 应用的核心管道机制
javascript·langchain
肖老师xy3 小时前
Ai生成时间排期进度
javascript·vue.js·elementui
借个火er3 小时前
无界微前端源码解析:路由同步
前端