zoukankan      html  css  js  c++  java
  • jquery介绍

    jquery是一个JavaScript库(js框架),jQuery可以理解JavaScript query,该框架提供了,很多方法,让我们可以非常轻松地写出动态效果的页面,从本质将,jQuery就是对JavaScript进行封装,然后让我们使用更加便利。

    特别说明:目前javascript很多,常见的有jquery,prototype,ext.js dwr.

    什么是jQuery对象?

    jQuery对象就是通过jQuery包装DOM对象后产生的对象。

    jQuery对象是jQuery独有的,如果一个对象是jQuery对象,那么它就可以使用jQuery里的方法:$("#test").html();

    jquery选择器

    选择器是jQuery的根基,在jQuery中,对事件处理,遍历DOM和Ajax操作都依赖于选择器。

    jQuery选择器的优点:

    • 简洁的写法
    • 完善的事件处理机制

    快速入门案例

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Document</title>
        <script type='text/javascript' src='jquery.js'></script>
    </head>
    <body>
        <p>abc</p>
        <p>okokok</p>
        <p>yyyy</p>
        <script type="text/javascript">
        //alert($);
        window.alert("abc="+$("p").length);
        </script>
    </body>
    </html>

    编写jquery需要引入jquery.js文件。jquery-3.3.1.min.js文件是从官网上下载的。该文件有200多k的大小。下载网址:http://jquery.com/download/。

    ①基本选择器

    ②层次选择器

    什么时候使用什么选择器(根据需求)

    当选择元素时,有层次关系时就要考虑使用层次选择器。如果没有层次关系,则直接考虑使用层次选择器即可。

    ③过滤选择器 

    过滤选择器主要是通过特定的过滤规则来筛选出所需要的DOM元素,该选择器都以":"开头。

    这样理解

    数据库:select * from 表名 where 条件(字段)

    jquery: select * from html文件 where 过滤选择器(基本,内容,style display,属性,子元素...)

    基础过滤选择器  

    回调函数(mfc)

    表示由系统帮你去调用的函数。

    function mymove(){
            $("#mover").slideToggle("fast",mymove);
        }
    <!DOCTYPE HTML>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Document</title>
        <script type='text/javascript' src='jquery.js'></script>
        <style type="text/css">
        #one{
            width:45px;
            background:#D876F4;
            margin:20px;
        }
    
        #two,#three,#mover{
            background:#9C9AC9;
            width:150px;
            margin-top:-85px;
            position:absolute;
            float:left;
        }
        #two{
            margin-left:100px;
        }
        #two1,#two2,#three01{
            width:100px;
            height:100px;
            margin:10px;
        }
        #two,#two1,#two2,#three,#three01,#mover{
            border:1px solid black;
        }
        #three{
            margin-left:275px;
        }
        #mover{
            margin-left:450px;
        }
        </style>
    </head>
    <body>
        <h1>XXXXX</h1>
        <h2>XXXXXXXXXXXXXX</h2>
        <h3>XXXXXXXXXXXXXXXXXXXXXXXXX</h3>
        <input type="button" value="改变第一个div元素的背景色为" id="b1"/>
        <input type="button" value="改变最后一个div元素的背景色为 #0000FF" id="b2"/>
        <input type="button" value="改变class不为one的所有div元素的背景色为#0000FF" id="b3"/>
        <input type="button" value="改变索引值为偶数的所有div元素的背景色为#0000FF" id="b4"/>
        <input type="button" value="改变索引值为奇数的所有div元素的背景色为#0000FF" id="b5"/>
        <input type="button" value="改变索引值为大于3的所有div元素的背景色为#0000FF" id="b6"/>
        <input type="button" value="改变索引值为等于3的所有div元素的背景色为#0000FF" id="b7"/>
        <input type="button" value="改变索引值为小于3的所有div元素的背景色为#0000FF" id="b8"/>
        <input type="button" value="改变所有的标题元素背景色为#0000FF" id="b9"/>
        <input type="button" value="改变当前正在执行动画的所有元素的背景色为#0000FF" id="b10"/>
        <div id="one" class="mini">
            div id为one
        </div>
        <div id="two">
            div id为two
            <div id="two1">
                id twoo1
            </div>
            <div id="two2">
                id twoo2
            </div>
        </div>
        <div id="three" class="one">
            div id为three class one
            <div id="three01">
                id three01
            </div>
        </div>
    
        <div id="mover">
            执行动画
        </div>
    
        <span id="s_one" class="mini">
            span one
        </span>
        
        <script type="text/javascript" language="javascript">
        //如何做出动画效果,jquery提供一些特效
    //**************************************
        mymove();
        function mymove(){
            $("#mover").slideToggle("fast",mymove);
        }
    //**********************************
        //改变第一个div元素的背景色为#0000FF
        $("#b1").click(function (){
            $("div:first").css("background","#0000FF")
        });
    //**********************************
        //改变最后一个div元素的背景色为#0000FF
        $("#b2").click(function (){
            $("div:last").css("background","#0000FF")
        });
    //**********************************
        //改变class不为one的所有div元素的背景色为#0000FF
        $("#b3").click(function(){
            $("div:not(.one)").css("background","#0000FF")
        });
    //**********************************
        //改变索引值为偶数的所有div元素的背景色为#0000FF
        $("#b4").click(function(){
            $("div:even").css("background","#0000FF")
        });
    //**********************************
        //改变索引值为偶数的所有div元素的背景色为#0000FF
        $("#b5").click(function(){
            $("div:odd").css("background","#0000FF")
        });
    //**************************************
        //改变索引值为大于3的所有div元素的背景色为#0000FF
        $("#b6").click(function(){
            $("div:gt(3)").css("background","#0000FF")
        });
    //*************************************
        //改变索引值为等于3的所有div元素的背景色为#0000FF
        $("#b7").click(function(){
            $("div:eq(3)").css("background","#0000FF")
        });
    //*************************************
        //改变索引值为小于3的所有div元素的背景色为#0000FF
        $("#b8").click(function(){
            $("div:lt(3)").css("background","#0000FF")
        });    
    //*************************************
        //改变所有的标题元素背景色为#0000FF
        $("#b9").click(function(){
            $(":header").css("background","#0000FF")
            //$("div").css("background","#0000FF")
        });
    //*************************************
        //改变当前正在执行动画的所有元素的背景色为#0000FF
        $("#b10").click(function(){
            $(":animated").css("background","#0000FF")
        });
        </script>
    </body>
    </html>

    内容选择器的过滤规则主要体现在它所包含的子元素和文本内容上。

    在eclipse中引入jquery.js文件报错的解决方案

    从官方下载的jquery.js在myeclipse始终用个大大的红叉,看着很不爽,如何解决呢:jquery.js在myeclipse中报错:jquery.js -> 鼠标右键 -> MyEclipse -> manage validation -> 左面点击 -> Excluded resources -> 找到jquery.js -> 打上钩 -> apply。

    css(name,value)

    一个参数是获取样式,两个参数是设置样式。

    //改变含有文本"id"的div元素的背景元素。
        $("#b1").click(function(){
            $("div:contains('id')").css("background","#0000FF");
        });

    下面代码无效,不知其原因。

    //改变含有class为mini元素的div元素的背景色为#OOOOFF
        $("#b3").click(function(){
            $("div:has(.mini)").css("background","#0000FF");
        });

    详细代码如下所示:

    <!DOCTYPE HTML>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Document</title>
        <script type='text/javascript' src='js/jquery.js'></script>
        <style type="text/css">
        #one{
            width:45px;
            background:#D876F4;
            margin:20px;
        }
    
        #two,#three,#mover{
            background:#9C9AC9;
            width:150px;
            margin-top:-85px;
            position:absolute;
            float:left;
        }
        #two{
            margin-left:100px;
        }
        #two1,#two2,#three01{
            width:100px;
            height:100px;
            margin:10px;
        }
        #two,#two1,#two2,#three,#three01,#mover{
            border:1px solid black;
        }
        #three{
            margin-left:275px;
        }
        #mover{
            margin-left:450px;
        }
        </style>
    </head>
    <body>
        <h1>XXXXX</h1>
        <h2>XXXXXXXXXXXXXX</h2>
        <h3>XXXXXXXXXXXXXXXXXXXXXXXXX</h3>
        <input type="button" value="改变含有文本'i'的div元素的背景元素" id="b1"/>
        <input type="button" value="改变不包含子元素的div背景色为#0000FF" id="b2"/>
        <input type="button" value="改变含有class为mini元素的div元素的背景色为#OOOOFF" id="b3"/>
        <input type="button" value="改变含有子元素(或者文本元素)的div元素的背景色为#0000FF" id="b4"/>
        <div id="one" class="mini">
            div id为one
        </div>
        <div id="two">
            div id为two
            <div id="two1">
                id twoo1
            </div>
            <div id="two2">
                id twoo2
            </div>
        </div>
        <div id="three" class="one">
            div id为three class one
            <div id="three01">
                id three01
            </div>
        </div>
        
        <div class="one">
        d
        </div>
    
        <div id="mover">
            执行动画
        </div>
    
        <span id="s_one" class="mini">
            span one
        </span>
        
        <script type="text/javascript">
        //********************
        //改变含有文本"id"的div元素的背景元素为#0000FF
        $("#b1").click(function(){
            $("div:contains('two')").css("background","#0000FF");
        });
        //********************
        
        //改变不包含子元素(或文本元素)的div背景色为#0000FF
        $("#b2").click(function(){
            $("div:not(:contains('di'))").css("background","#0000FF");
        });
        
        //改变含有class为mini元素的div元素的背景色为#OOOOFF
        $("#b3").click(function(){
            $("div:has(.mini)").css("background","#0000FF");
        });
        //改变含有子元素(或者文本元素)的div元素的背景色为#0000FF
        $("#b4").click(function(){
            $("div:parent").css("background","#0000FF");
        });
        </script>
    </body>
    </html>

    可见过滤选择器是根据元素的可见和不可见状态来选择相应的元素

    1、:hidden

    2、:visible

    //改变含所有可见的div元素的背景元素为#0000FF
        $("#b1").click(function(){
            $("div:visible").css("background","#0000FF");
        });
        //********************
        
        //选取所有不可见的元素,利用jquery中的show()方法将它们显示出来
        $("#b2").click(function(){
            //$("div:not(:contains('di'))").css("background","#0000FF");
            $("div:hidden").css("display","inline").css("background","red");
        });

    效果相似的两条语句

    //$("div:hidden").css("display","inline").css("background","red");
    $("div:hidden").show().css("background","red");

    each是jquery的一个工厂函数(可以理解成全局函数)

  • 相关阅读:
    Java Object类及其常用方法
    Java 抽象类和抽象方法
    Java 多态
    Java 继承
    Java Scanner类
    正则表达_1
    「暑期集训day14」掠影
    「暑期集训day13」苦闷
    「暑期集训day12」苦楚
    「暑期集训day11」旧殤
  • 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9829403.html
Copyright © 2011-2022 走看看