zoukankan      html  css  js  c++  java
  • Jquery初体验一

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            $(function () {
                //选择器.跟css一样  .css()jq修改样式的方法
                $(".hardTool").css("color", "pink");//调用jq的方法,jq内部循环 dom数组,这个叫做隐式迭代
                //标签选择器
                $("li").click(function () {
                    alert("我被点击了" + this.innerHTML);
                });
    
                $("#ComScreen").css({ "fontSize": "50px", "backgroundColor": "#0094ff", "fontFamily": "微软雅黑" });
            })
        </script>
    </head>
    <body>
        <ol>
            <li class="hardTool">固态硬盘</li>
            <li class="hardTool">机械键盘</li>
            <li id="ComScreen">视网膜显示屏</li>
            <li>水冷机箱</li>
        </ol>
    </body>
    </html>
    

     $由来,自执行函数 

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script type="text/javascript">
            //自执行函数,---自动执行,括号外面访问不到,
            //用处,不让用户在不经意之间修改
            //$符号的由来,jq往window对象里面注册的,$跟jquery对象用处一样
            //(function (Name) {
            //    alert(Name + "你好啊");
            //})("金三胖");
            // (function () { alert("123"); })();
            //一般是写框架的时候用,防止用户重写
            //就是将函数用括号括起来
            //可以用匿名函数
            (function (window) {
                window.sayHello = function () { alert("haha"); }
            })(window);
            say
        </script>
    
    </head>
    <body>
    </body>
    </html>
    

      

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            //注意,jq里面几乎都是方法,不需要用等号赋值,调用jq方法,传入实参,即可
    
            //全局变量分割线----------------
            var $liSelect = undefined;
    
            var $EditText = $("<input type='text' />");
            //设置失去焦点事件
            $EditText.blur(function () {
                if ($liSelect != undefined) {
                    $liSelect.html($(this).val());
                }
            })
            //全局变量分割线----------------
    
            //li标签 高亮选中
            //设置为全局的是 为了在新增的时候,能够添加
            function highSelect() {
                //将其他的li标签颜色还原
                $("li").css("color", "black");
                //将自己的变色
                $(this).css("color", "pink");
                //将自己存到全局变量中
                $liSelect = $(this);
            }
    
            //01.dom树加载完毕  window.onload 页面资源加载完毕
            $(function () {
                //---为li标签添加高亮选中的方法
                $("li").click(highSelect); 1
    
                //02.jq的id选择器--新增按钮
                $("#btnAdd").click(function () {
                    //弹出输入框
                    var userInput = window.prompt("请输入点心名", "比如叉烧鸡腿双拼");
                    //判断用户输入是否有效
                    if (userInput != null && userInput.trim() != "比如叉烧鸡腿双拼" && userInput.trim() != "") {
                        //有效就创建li标签,--使用jq的创建dom元素方法,返回的是 jq对象
                        var $liCreate = $("<li>" + userInput + "</li>");
                        //将创建好的li标签追加到ol里面去
                        $liCreate.appendTo("#olList");
                        //简单写法
                        // $("<li>" + userInput + "</li>").appendTo("#olList");
                        //为新增的li标签设置点击事件
                        $liCreate.click(highSelect);
                    }
    
                })
    
                //03.为插入按钮,增加点击事件
                $("#btnInsert").click(function () {
                    if ($liSelect != undefined) {
                        //弹出输入框
                        var userInput = window.prompt("请输入点心名", "比如叉烧鸡腿双拼");
                        //判断用户输入是否有效
                        if (userInput != null && userInput.trim() != "比如叉烧鸡腿双拼" && userInput.trim() != "") {
                            //有效就创建li标签,--使用jq的创建dom元素方法,返回的是 jq对象
                            var $liCreate = $("<li>" + userInput + "</li>");
                            //将创建好的li标签插入到指定位置
                            //insertBefore可以传,jq对象,选择器,dom对象,不能为空
                            $liCreate.insertBefore($liSelect);
                            //$liCreate.insertBefore();
                            //为创建好的li标签设置点击事件
                            $liCreate.click(highSelect);
                        }
                    } else {
                        alert("哥们,先选中");
                    }
                });
    
                //04.为删除按钮,增加点击事件
                $("#btnRemove").click(function () {
                    //判断 是否选中了li标签
                    if ($liSelect != undefined) {
                        //jq里面可以自删
                        $liSelect.remove();
                        //将删除的元素置空
                        $liSelect = undefined;
                    }
                })
    
                //05.为编辑按钮,增加点击事件
                //.val()可以设置,或者获取单标签的value字<a href="jquery/">jquery/</a>
                $("#btnEdit").click(function () {
                    ////创建文本框
                    //var $textCreate = $("<input type='text' value='" + $liSelect.html() + "' /> ");
                    ////设置文本框的value 为li标签的innerHTML
                    ////html()这个方法有点特殊,穿实参,就是设置,不传,就是获取innerHTML
                    $EditText.val($liSelect.html());//设置value值
                    //清空li标签的innerHTML
                    $liSelect.html("");
                    //将全局的文本框追加进去
                    $EditText.appendTo($liSelect);
                    //让文本框获得焦点//focus()如果传入函数,就是设置获得焦点事件,如果不传,就是让元素获得焦点
                    $EditText.focus();
                    //为文本框添加失去焦点事件
                    //$textCreate.blur(function () {
                    //    //将自己的value值,设置给选中的li标签即可
                    //    $liSelect.html($(this).val());
                    //})
    
                })
    
            })
    
    
    
        </script>
    </head>
    <body>
        <input type="button" value="追加li标签" id="btnAdd" />
        <input type="button" value="在指定位置插入li标签" id="btnInsert" />
        <input type="button" value="删除选中按钮" id="btnRemove" />
        <input type="button" value="修改选中li标签" id="btnEdit" />
        <ol id="olList">
            <li>茶叶蛋</li>
            <li>切糕</li>
            <li>芭比香包</li>
            <li>吮指原味鸡</li>
            <li id="Pao">啤酒</li>
        </ol>
    </body>
    </html>
    

      

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            //自执行函数,作用不让外界访问,
            //dom树生成完毕
            $(function () {
                //$("#id")//id选择器
                //$(".class")//class选择器
                //$("li")//标签选择器
                //返回给我们的是一个jq对象
                //jq对象的组成部分
                //1.dom数组 2.jq方法
                //jq对象只能使用jq方法(.html().val().click())  不要$("li").innerHTML
    
                //----jqdom互转
                //  jq对象[索引] 转换成dom元素  jq对象.get(索引)
                //$(dom对象) dom转jq对象  好处,使用jq方法
    
                //--------jq事件
                $("li").click(function () { })//为元素设置事件..注意 不要用等号赋值
                $("li").click()//如果不传实参,就是调用 点击事件
    
                //jq常见属性
                $("input").val("下午天气不错");//注意不要用等号赋值,给实参,是赋值
                //不给实参.是取值
                $("li").html()//给实参,赋值, 不给实参,是取值  会解析标签
                $("li").text();//给实参,赋值, 不给实参,是取值  不会解析标签
    
                //--样式设置
                $("li").css("color", "red");//用键值对的方式设置
                $("li").css("color");//只传key 是取值
                $("li").css({ "color": "pink", "backgroundColor": "red" })//对象的字面量表示法
    
                //创建dom元素
                $("<input value=" + 123 + "/>");//直接写html标签
                $("<li>小苹果<li>");//双标签,后面半个标签如果不写/就会生成2个
    
                //将dom元素追加到dom树里面去
                //$("<input value=" + 123 + "/>").appendTo("选择器","dom对象","jq对象")
    
                //将dom元素从dom树中移除
                $("#btn").remove();//直接调用remove方法即可,能够自删
            })
    
        </script>
    </head>
    <body>
    </body>
    </html>
    

      链式编程

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            $(function () {
                //链式编程
                //原理是,方法返回了相同的jq对象
                //不返回jq对象的方法 
                //.get() //dom对象
                //.html().val().text()不传实参 字符串
                //.css("color")  .css 方法 只传样式名,返回的是字符串
                $("#btnTest").click(function () {
                    //浏览器在调用的时候 dom.onclick()/this是dom对象
                    $(this).val("雪人兄弟");
                })//单击事件
                    .dblclick(function () {
                        $(this).css("fontSize", "80px");
                    })//双击事件
                .mouseenter(function () {
                    $(this).css("color", "yellow");
                })
                .mouseleave(function () {
                    $(this).css("color", "black");
                });
            })
    
            //---自己写链式编程---------------------
            //链式编程的本质就是返回对象
            var fox = new Object();
            fox.run = function () {
                alert("抓小动物");
                return this;
            }
            fox.eat = function () {
                alert("吃西瓜");
                return this;
            }
            fox.play = function () {
                alert("跟小动物玩耍");
                return this;
            }
            fox.wash = function () {
                alert("洗澡澡");
                return this;
            }
            fox.sleep = function () {
                alert("zzzzZZZZ");
                return this;
            }
            fox.name = "小狐狸号号";
    
            fox.run().eat().play().wash().sleep().name;
    
    
        </script>
    </head>
    <body>
        <input type="button" id="btnTest" value="海尔兄弟" />
    
    </body>
    </html>
    

      层次选择器

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            $(function () {
                //后代选择器, 使用空格分隔,后一个选择器,的筛选范围是前面的选择器找到元素的后代节点
                //$("#olSongs .bangzi").css("color", "pink");
                ////子代选择器 用>分隔选择器
                $("#olSongs>li").css("border", "2px solid #0094ff");
                ////next选择器
                //$(".bangzi+li").css("backgroundColor", "#0094ff");
                //同辈元素
                //$("#snow~li").css("fontSize", "40px");
                //})
    
        </script>
    </head>
    <body>
        <ol id="olSongs">
            <li>月亮之上</li>
            <li class="bangzi">江南style</li>
            <li>小苹果</li>
            <li>
                <ol id="olFoods">
                    <li>哈根达斯</li>
                    <li id="snow">和路雪</li>
                    <li class="bangzi">五仁月饼</li>
                    <li>泡菜</li>
    
                </ol>
            </li>
        </ol>
        <ol id="olPeople">
            <li>韩庚</li>
            <li class="bangzi">蔡妍</li>
            <li>西兰花</li>
        </ol>
    </body>
    </html>
    

      过滤器

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <style type="text/css">
            ol {
                list-style: none;
            }
        </style>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            $(function () {
                alert("稍等一会");
                //过滤器 :first获取第一个
                //$("li:first").css("backgroundColor", "red");
                ////:last获取最后一个
                ////  $("li:last").css("backgroundColor", "blue");
                ////:eq(索引) 根据索引来获取元素
                //$("li:eq(1)").css("backgroundColor", "pink");
                ////:not(选择器) 不满足括号内的元素
                //$("li:not(.noEnd)").css("fontFamily", "楷体");
                ////----------分割线
                ////:even过滤器 过滤的是索引
                //$("#olCartoonPeople li:even").css("backgroundColor", "green");
                //$("#olCartoonPeople li:odd").css("backgroundColor", "orange");
    
                //--范围过滤器
                //:gt(索引) 大于 
                // $("#peopleName li:gt(1)").css("fontSize", "40px");
                //:lt(索引) 小于
                // $("#peopleName li:lt(2)").css("color", "orange");
                //过滤器是以前面过滤出来的元素再次过滤
                //如果过滤器复合着写, 后面的过滤器过滤的元素是前面过滤完之后的
                // $("#peopleName li:gt(1):lt(1)").css("fontSize", "100px");
                //获取范围元素 不推荐将过滤器复合着
                //.slice(索引1)  可以取到最小值 ,取不到最大值
                //.slice() 大于等于 ,小于 
                //推荐使用.slice来获取范围元素
                $("#peopleName li").slice(1, 3).css("color", "pink");
    
            })
    
        </script>
    </head>
    <body>
        <ol id="peopleName">
            <li>0汤姆克鲁斯</li>
            <li>1贝克汉姆</li>
            <li>2杰克琼斯</li>
            <li>3李维斯</li>
            <li>4匡威</li>
        </ol>
    
    
        <ol>
            <li class="noEnd">海贼王</li>
            <li class="noEnd">妖精的尾巴</li>
            <li>进击的巨人</li>
            <li class="noEnd">名侦探柯南</li>
            <li>奥特曼</li>
            <li>哈尔的移动城堡</li>
        </ol>
        <ol id="olCartoonPeople">
            <li>0毛利小五郎</li>
            <li>1泰罗奥特曼</li>
            <li>2徐老师</li>
            <li>3懒羊羊</li>
            <li>4圣斗士星矢</li>
            <li>5龙猫</li>
        </ol>
    </body>
    </html>
    

      

    父子兄弟元素

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            $(function () {
                //.parent可以获取父节点
                //$("#famous").parent().css("border", "10px solid #0094ff");
                ////获取子节点
                //$("#famous").children("input").css("backgroundColor", "red");
                ////无差别获取后代元素 .find(选择器) 获取后代元素
                ////select标签 里面的option标签如果没有value属性
                ////那么select.value() 获取到的 是选中的option标签的innerHTML
                ////如果有value属性.获取到的 就是选中的option标签的value
                //$("#famous").dblclick(function () {//通过点击事件触发
                //    alert($(this).find("select").val());//获取后代中select标签的value值
                //});
                alert("稍等一会");
                //-----------分割线-----------兄弟元素获取
                //.next获取紧挨着的
                $("#fatFood").next().css("color", "pink");
                //.nextAll.获取之后的所有兄弟节点
                $("#fatFood").nextAll().css("backgroundColor", "green");
                //获取前面的
                //.prev()之前的紧挨着的
                //.prevAll()之前所有的兄弟
                $("#fatFood").prev().css("backgroundColor", "yellow");
                //获取除自己以外的所有兄弟
                //.siblings()获取所有兄弟节点(除自己意外)
                $("#fatFood").siblings().css("fontSize", "100px");
    
    
                ///------------分割线--------下面是破坏性操作
                //破坏性操作,就是改变jq方法的返回对象的操作
                //一般是 获取父子,兄弟元素的方法
                $("#fatFood").click(function () { }).next()
    
    
                
            })
        </script>
    </head>
    <body>
        <ol id="olFirst">
            <li>鸡腿饭</li>
            <li>叉烧饭</li>
            <li id="fatFood">猪脚饭</li>
            <li>肉卷饭 </li>
            <li>小炒牛肉</li>
            <li>水煮肉片</li>
        </ol>
    
        <ol>
            <li>iphone1</li>
            <li>iphone2</li>
            <li>iphone3gs</li>
            <li id="famous">iphone4s<input type="button" value="点击购买翻新4s" />
                <div style="border: 1px solid #0094ff">
                    <select>
                        <option value="比较旧">9成新</option>
                        <option value="特别旧">8成新</option>
                    </select>
                </div>
            </li>
            <li>iphone5s</li>
            <li>iphone6</li>
        </ol>
    </body>
    </html>
    

      jquery对象和dom对象

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="jquery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            //01dom对象.进行增删查改使用的是 dom语法 比如innerHTML,value,onclick,appendChild
            // document.getElementById("olList").innerHTML
    
            //02.调用jq的方法时,他返回的是 jq对象,方法都是jq方法,
            //所以 千万不要出现 $("li").innerHTML="123";
            //如果我们使用的是 jq对象,那么所有方法,都有自动提示,如果没有肯定是你写错了
            //jq对象有两大组成部分
            //第一大部分,就是dom数组--隐式迭代
            //第二大部分,jq方法
            //$(function () {
            //    alert($("li").length);
            //})
            //$("li").append
            //--------------------------------dom,jq对象互转
    
            $(function () {
                //通过索引来取--dom元素
                $("li")[0].innerHTML = "麻辣烫";
                //通过jq对象的get方法
                $("li").get(1).innerHTML = "韭菜月饼";
                //如何将dom对象转成jq对象
                //好处,更加简洁
                document.getElementById("TeaEgg").onclick = function () {
                    $(this).css({
                        "color": "#0094ff",
                        "backgroundColor": "yellow",
                        "fontSize": "100px"
                    })
                }
            });
    
    
        </script>
    </head>
    <body>
        <ol id="olList">
            <li id="TeaEgg">茶叶蛋</li>
            <li>切糕</li>
            <li>芭比香包</li>
            <li>吮指原味鸡</li>
            <li>啤酒</li>
        </ol>
    </body>
    </html>
    

      

  • 相关阅读:
    A标签几种状况下的样式问题
    接口Comparator和Comparable的区别和联系
    Hash算法的讲解
    我所理解的面向对象
    MySQL中select * for update锁表的范围
    Java中使用同步关键字synchronized需要注意的问题
    大数据量下高并发同步的讲解(不看,保证你后悔)
    Apache、Tomcat、JBoss、Weblogic四个常用的JavaEE服务器
    ibatis基本内容简介
    Java常见排序算法之归并排序
  • 原文地址:https://www.cnblogs.com/fenglingyi/p/4231303.html
Copyright © 2011-2022 走看看