自学之jQuery

Posted zhoulixiansen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自学之jQuery相关的知识,希望对你有一定的参考价值。

最近在公司做项目的过程中,涉及到写前端部分,因为之前一直很少写前端,所以不是很熟悉,所以,在此写一下自学jQuery的过程,以及中途遇到的坑。

首先,要想使用jQuery必须先引入jQuery

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        
    </head>
    <body>
        
        <script type="text/javascript">
            /*
            alert(222)
            window.onload = function(){
                //window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。
                //如果不写window.onload() 代码的执行顺序 从上到下
                var oDiv = document.getElementById(‘box‘);
                console.log(oDiv);
            }
            */
            
        </script>
        
        <div id="box">
            
        </div>
        
    </body>
    <script src="./jquery-3.2.1.js"></script>
    <script type="text/javascript">
        
        //如果没有引入jquery :$ is not defined
        console.log($)
        //jquery是js的一个库文件,既然是库文件,那么就会抛出来一个构造函数或者对象
        
        //$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕
        //书写jquery的方式  入口函数
        $(document).ready(function(){
            alert(111)
        })
        
        //等价
        $(function(){
            alert(222);
        })
    </script>
    
    
</html>

对,没错,就上面那个<script src="./jquery-3.2.1.js"></script>那个

如果说没有引入jQuery使用$就会报错,没有定义,如上面的代码。

 $(document).ready(function(){
            alert(111)
        })

这个一般用在初始化界面的时候调用,比如修改内容的时候,原来什么东西是隐藏的,就用这个,因为他是从页面加载的时候就存在的。

而下面的$(function){})就是上面的简写方式。

——————————————————————————————————————————————————————————————————————

下面是jQuery的选择器:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            /*#brother{
                color: red;
                font-size:24px;
            }*/
        </style>
    </head>
    <body>
        <ul>
            <li id="brother">你大爷1</li>
            <li><a href="https://www.luffycity.com">你大爷2</a></li>
            <li class="li3">你大爷3</li>
            <li>你大爷4</li>
            <li>你大爷5</li>
            
            
        </ul>
    </body>
    <script src="jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        
        //使用jquery的时候 要有入口函数 回调函数
        $(document).ready(function(){
            
            //基础选择器
            //1.id选择器
            console.log($(#brother));
            
            $(#brother).css(color,red);
            
            //2.标签选择器
            //设置一个值
//            $(‘a‘).css(‘color‘,‘yellow‘)
//          设置多个值 设置多个值得时候使用对象存储 key:value
            $(a).css({color:yellow,font-size:24px});
            
            //3.类选择器
            
            $(.li3).css(background,green);
            
            //4.通配符选择器 * 使用不是很频繁
            
            console.log($(*));
            //清空整个界面的dom元素
            $(*).html(‘‘);
            
            
            
            
            
            
            
            
        })
        
    </script>
</html>

选择器的种类如上所示:分为ID选择器,标签选择器,类选择器,通配符选择器;当然这些是一种基础类型的选择器。

所需要注意的是,当一个选择器想要设置多个元素的时候采用{}的形式。

$(‘a‘).css(‘color‘,‘yellow‘)单个
$(‘.li3‘).css(‘background‘,‘green‘); 
$(‘a‘).css({‘color‘:‘yellow‘,‘font-size‘:‘24px‘});多个

下面是层级选择器的使用方法:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            /*#brother{
                color: red;
                font-size:24px;
            }*/
        </style>
    </head>
    <body>
        <ul>
            <li id="brother">你大爷1</li>
            <li><a href="https://www.luffycity.com">你大爷2</a></li>
            <li class="li3">你大爷3</li>
            <li>你大爷4</li>
            <li>你大爷5</li>
            
            
        </ul>
        
        <div id="box">
            <p id="father">天王盖地虎</p>
            <p>我是你老母</p>
            <p>宝塔镇河妖</p>
            <p>蘑菇放香蕉</p>
            <div id="box2">
                <p>小鸡炖蘑菇</p>
            </div>
            
                        
        </div>
    </body>
    <script src="jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        
        //使用jquery的时候 要有入口函数 回调函数
        $(document).ready(function(){
        
            //1.后代选择器  div p
            
            $(#box p).css(color,red);
            
            
            //2.子代选择器  div > p
            
            $(#box>p).css(color,yellow)
            
            
            //3.毗邻选择器 匹配素所有紧接着选中元素的兄弟 +
            $(#father+p).css(font-size,30px);
            
            
            
            //4.兄弟选择器 ~
            $(#father~p).css(background,blueviolet);
            
            
            console.log($(li));
            
            //5.获取第一个元素
            $(li:first).css(font-size,50px);
            
            //6.获取最后一个元素
            
            
            $(li:last).css(font-size,50px);
            
            
            $(li:eq(3)).css(font-size,50px);
            
            
            
        })
        
    </script>
</html>

子代选择器(‘div>p ‘)和后代选择器(‘div p‘)的最大区别就是在于子代是只选择儿子辈,后代是子子孙孙无穷尽。

而兄弟选择器(‘#father~p‘)和毗邻选择器(‘#father+p‘)最大区别在于兄弟是选择同一层级下的所有,而毗邻只是同一层级下的一个。

$(‘li:eq(3)‘).css(‘font-size‘,‘50px‘);

用的最多

属性选择器

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
         <div id="box">
            <h2 class="title">属性元素器</h2>
            <!--<p class="p1">我是一个段落</p>-->
            <ul>
                <li id="li1">分手应该体面</li>
                <li class="what" id="li2">分手应该体面</li>
                <li class="what">分手应该体面</li>
                <li class="heihei">分手应该体面</li>

            </ul>

            <form action="" method="post">

                <input name="username" type=‘text‘ value="1" checked="checked"></input>
                <input name="username1111" type=‘text‘ value="1"></input>
                <input name="username2222" type=‘text‘ value="1"></input>
                <input name="username3333" type=‘text‘ value="1"></input>
                <button class="btn-default">按钮1</button>
                <button class="btn-info">按钮1</button>
                <button class="btn-success">按钮1</button>
                <button class="btn-danger">按钮1</button>


            </form>
        </div>
    </body>
    <script src="jquery-3.2.1.js"></script>
    <script type="text/javascript">
        
        $(function(){
//            标签名[属性名] 查找所有含有id属性的该标签名的元素
            $(li[id]).css(color,red);
            
            //匹配给定的属性是what值得元素
            $(li[class=what]).css(font-size,30px);
            //[attr!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素
            $(li[class!=what]).css(font-size,50px);
            
//            匹配给定的属性是以某些值开始的元素
            $(input[name^=username]).css(background,gray);
            //匹配给定的属性是以某些值结尾的元素
            $(input[name$=222]).css(background,greenyellow);
            
            //匹配给定的属性是以包含某些值的元素
            $(button[class*=btn]).css(background,red)
            
            
            
            
            
        })
    
    </script>
</html>

筛选选择器

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
         <div id="box">
            <p class="p1">
                <span>我是第一个span标签</span>
                <span>我是第二个span标签</span>
                <span>我是第三个span标签</span>
            </p>
            <button>按钮</button>
        </div>
        <ul>
            <li class="list">2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
    </body>
    <script src="jquery-3.2.1.js"></script>
    <script type="text/javascript">
        
        //获取第n个元素 数值从0开始
        $(span).eq(1).css(color,#FF0000);
        
        //获取第一个元素 :first :last    点语法  :get方法 和set方法
        console.log($(span).last());
        $(span).last().css(color,greenyellow);
        
        console.log($(span).parent(.p1))
        $(span).parent(.p1).css({"width":300px,height:400px,"background":red});
        
        //.siblings()选择所有的兄弟元素
        $(.list).siblings(li).css(color,red)

        //.find()
        //查找所有的后代元素
        $(div).find(button).css(background,yellow)
        
        
    </script>
</html>

筛选选择器的区别在于他是先选中之前的条件再去选择之后的条件:属于链式调用

 

以上是关于自学之jQuery的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题之手写promise

jQuery应用 代码片段

jQuery 自学笔记

Visual Studio 2012-2019的130多个jQuery代码片段。

markdown 在WordPress中使用jQuery代码片段

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面