zoukankan      html  css  js  c++  java
  • jQuery基础

    我使用的是未压缩版本的jQ文件,你们可以使用压缩版的

    什么是jQuery呢?

        jq呢就是一个快速 、小型且功能丰富的JavaScript库,它使用一个在多种浏览器上工作易于使用的API

    使得HTML文档便利和操作 事件处理 动画和Ajax等工作变得更加简单,随着多功能性和可扩展性的结合
    jq改变了数百万人编写js的方式 

    <style>
                p{
                     100px;
                    height: 100px;
                    margin-top: 20px auto;
                }</style>
        </head>
        <body>
            <input type="button" value="给盒子设置边宽" id="btn" />
            <p></p>
            <p></p>
            <p></p>
        </body>
        <script src="jquery-3.5.1.js"></script>
        <script>
            $(document).ready(function(){
                $("#btn").click(function(){
                    $("p").css("border","1px red solid");
                });
            });

    jQ有哪些版本?之间的区别又有哪些?

    所以简略说一下

    官网可以下载所有的jQ文件,而这些jQ文件又有不同的版本号,适用于不同的浏览器

    不同的版本号
    JQuery 1.x  已经不更新了 支持老浏览器 IE6-8 Opera等
    JQuery 2.x  已经不更新了 不支持浏览器
    JQuery 3.x  正在更新中 不支持浏览器

    每个版本有压缩和未压版的(压缩版有后缀min,想要查看源代码可以使用未压缩版的,所占空间较大)
    压缩版的 是用于生产环境 实际开发过程
    未压缩版的 适用于开发测试

    什么是入口函数呢?入口函数有几种写法?jQ的入口函数与原生之间的区别又有哪些?

    <script>
                // 1.入口函数的第一种写法
                /* $(document).ready(function(){
                    console.log("我是第一种入口函数的写法");;
                }) */
                
                // 第二种 简化版 使用较多
                /* $(function(){
                    console.log("我是第二种入口函数写法");;
                }) */
                
                // 3.jQuery的入口函数与原生的区别
                /* a.原生的入口函数只能写一个,如果写多个 后面的将前面的覆盖掉 前面的代码多不会执行
                jQuery的入口函数可以写多个
                
                b.执行时机
                原生入口函数  等到所有的页面(dom树 外部的js文件 外部的css文件 图片)加载完毕后才会执行
                jQ的入口函数可以写多个 */
                
                window.onload = function(){
                    console.log("我是原生的入口函数");
                }
                $(function(){
                    console.log("我是jQ的入口函数");
                })
            </script>

    接下来说一下"$"他到底是什么

    // 1如果没有引入jq文件 那么就会报错 Uncaught ReferenceError : is not defined 那么说明一定是jq文件未引入
                /* $(function(){
                    console.log();
                }) */
                //2. $从jQuery文件来的 那么它到底是什么?
                /* (function(){
                    
            .    })(window.Function(){
                // 给window对象添加一个jq方法和$方法 对应的值是一个函数
                    window.jQuery = window.$ = jQuery;
                }) */
                /* 3.script标签引入外部js的一个特点
                如果引入外部的js文件 那么会不会在引入之后 就直接执行这个js文件里面的代码? 会
                那么对于jQuery也一样 jQuery文件是一个自执行函数 当我们引入jQuery文件的时候 就会自动执行
                window.jQuery = window.$ = jQuery; 是不是也执行了? */
                
                // 引入jQuery文件后 直接把$ 和jQuery方法 作为属性给了window
                console.log(window);
                
                console.log($ === jQuery);  // true
                console.log(window.$ === window.jQuery); //true
                
                // 入口函数 可以使用$ 也可以使用jquery
                jQuery(function(){
                    console.log(...);
                })
                // 4.$既然是一个函数 那么它也可以传入多种参数
                /* 如果传入的参数是一个匿名函数 那么$就是一个入口函数
                如果传入的参数是一个字符串 那么$就是一个选择器获取元素
                如果传入的参数是一个dom元素 那么$就是把这个DOM元素在转换成jQuery对象 */

    DOM对象和jQuery对象转换和使用

    <body>
            <div class="box"id="first"></div>
            <div class="box"id="one1"></div>
            <div class="box"id="one1"></div>
            <script src="./jquery-3.5.1.js"></script>
            <script>
    //             1 使用DOM元素(原生js的方法)给div添加属性
    //             原生js选择器获取到的是dom对象 document.getElementsByClassName()
    //             原生的DOM元素只能选用dom属性或者方法 不能调用jQuery的方法
                var first= document.getElementById("first");
                console.log(first);
                
                // first.css("backgroundColor","green“); //报错 first.css is not a function 
                // first.style.backgroundColor = "green";
                
                /* //2.使用jQuery对象
                使用jQuery选择器获取都得是jQuery对象
                只能调用jQuery的方法 不能调用原生的 */
                var $first = $("first"); //获取到的是jQuery对象 保存jQuer1对象变量命名的时候最好使用$开头
                console.log($first);
                
                // $first.css("backgroundColor","green“);    //jQuery对象调用jQuery方法
                // $first.style.backgroundColor = "green";  // 保错 不能调用原生的方法或者属性
                
                // 3.jQuery对象是什么?
    //             根据特征来看 向数组 验证是不是数组
    //             jQuery 对象算是一个伪数组  不能调用数组里面的方法
                console.log($first.__proto__ === Array.prototype);    // false
                console.log(Object.prototype.toString.call($first));     // [object Object]
    
                
                // 4.DOM和jQuery对象的相互转换
                // dom元素转换成jQuery对象 : 直接把dom作为参数传递给$方法
                 var $divFirst = $(first);
                 console.log($divFirst);
    
                
                // 把jQuery对象转换成dom元素 直接使用下标取值 获取到的就是dom元素
                $divs = $("div");
                console.log($divs);
                var divFirst = $divs[0];
                console.log(divFirst);
                
                // 调用jQuery的get方法 参数传索引
                var divTwo = $divs.get(1);
                console.log(divTwo);
            </script>

    设置文本和获取样式的方法

    <style>
                .diva{
                     100px;
                    background-color: darkgray;
                    border: 4px solid aqua;
                }
            </style>
        </head>
        <body>
            <button id="getbtn">获取文本</button>
            <button id="setbtn">设置文本</button>
            <input type="button" value="获取样式" id="getBtn1" />
            <input type="button" value="设置样式" id="setBtn1" />
            <div id="div1" id="box">
                我是div盒子
                <p>我是一个p标签
                    <span>我是一个span标签</span>
                </p>
            </div>
            <div id="div1">
                我是div盒子
                <p>我是一个p标签
                    <span>我是一个span标签</span>
                </p>
            </div>
            <div class="diva" style="height: 100px;"></div>
            <div class="divb" style="height: 100px;"></div>
            <div class="divc" style="height: 100px;"></div>
            <script src="./jquery-3.5.1.js"></script>
            <script>
                // text() 获取和设置文本的方法
                // 可以获取到元素自生的文本 也可以获取到后代中元素中的文本
                $(function() {
                            $("getbtn").click(function() {
                                var text = $(".div1").text();
                                console.log(text);
    
                                // 获取全部的文本
                                console.log($("div").text()); //封装里面的迭代的方法    隐式迭代
                            })
                            // 2.设置文本
                            /* 只需要给text(参数) 加了参数后 就是给元素设置文本
                            会覆盖元素原有的方法
                             如果新设置的文本中包括了标签 那么他是不会解析标签的 当做文本内容来解读
                             */
                            $("#setbtn").click(function() {
                                // 我要给box这个盒子设置文本
                                $("#box").text("<a>我是新设置的</a>");
                            })
                            // 样式的方法
                            // css用来获取或者设置样式的党发
                            $("#getBtn1").click(function() {
                                // 获取div的样式
                                console.log($(".diva").css("height"));
                                console.log($(".diva").css("border"));
    
                                // 在所有的IE浏览器中 要写准确的样式
                                console.log($("diva").css("border-top-width"));
                                console.log($("diva").css("border-top-color"));
                            }) 
                            // 2.设置div这个盒子的样式
                            // 使用js方法设置样式
                            $("#setBtn1").click(function() {
                                /* $(".div1").css("width",300);
                                $(".diva").css("width","300px");
                                $(".diva").css("height","300px");
                                $(".diva").css("background-color","red");
                                $(".diva").css("border","5px solid pink"); */
    
                                // 3.使用css设置样式
                                $(".diva").css({
                                     "300px",
                                    "height": 300,
                                    //background-color : "red",    //如果属性名不用引号引起来 那么就换成驼峰命名法
                                    "background-color": "red",
                                    border: "10px solid gols"
                                })
                            })
                        })
            </script>
  • 相关阅读:
    博客
    参考博客
    KMP
    串匹配
    简单数论
    B
    各种常用函数的模板以及自己的测试数据
    header
    memcached的图形界面监控
    缓存策略
  • 原文地址:https://www.cnblogs.com/zycs/p/12886195.html
Copyright © 2011-2022 走看看