• jQuery学习笔记(二)


    l         JQuery选择器

      JQuery选择器用于查找满足条件的元素,比如可以用$(“#控件id”)来根据控件id获得控件的JQuery对象,相当于getElementById;

     如: $(“#div1”).html(“<font color=”red”>ab</font>cd”);

    l         $(“TagName”)来获取所有指定标签名的JQuery对象。相当于getElementByTagName;

     $(function(){$(“p”).click(function(){$(“p”).html(“我们都是p”)})})

    l         CSS选择器,同时选择拥有样式的多个元素

     <style type=”text/css”>

     .warming{background:yellow;color:red}

    </style>

    <script type=”text/javascript”>

     $(“.warming”).click(function(){alert(“对不起你不能点击此事件!”);});

    </script>

    <p class=”warming”>简介</p>

    <p class=”warming”>请带上你的身份证</p>

    <input type=”button” class=”warming” />

    l         JQuery隐式迭代

    问题:JQuery使用id选择器时即使id写错了也不会报错这给开发人员带来了很大的麻烦。所以需要判断对象是否存在。

    原因:jQuery选择器返回的是一个对象数组,调用text()、html()、click()之类的方法时候其实是对数组中每个元素迭代调用每个方法,因此即使通过id选择的元素不存在也不会报错。所以如果需要判断指定的id是否存在,应该如下写:

     if($(“#btn1”).length<=0){

     alert(“此id元素不存在”);

    }

    l         节点遍历

    1. next()方法用于获取节点之后的第一个同辈元素,$(“.menuitem”).next(“div”)  next里面为选择器选择节点之后是div元素类型
    2. nextAll()方法用于获取节点之后的所有同辈元素,$(“.menuitem”).nextAll(“div”)

            $("div").click(function () { $(this).nextAll("div").css("background","red"); });//自动隐式迭代

    1. siblings()方法用于获取所有同辈元素,
    2. $(“.menuitem”).siblings(“li”)

                 $("div").click(function () { $(this).css("background", "red"); $(this).siblings("div").css("background","white"); }); //给点击的设置为红色,没有点击的设置为白色

    l         基本过滤选择器

    l         :first 选取第一个元素。$(“div:first”)选取第一个<div>

    l         :last 选取最后一个元素,$(“div:last”)选取最后一个<div>

    l         :not(选择器) 选取不满足“选择器”条件的元素 $(“input:not(.myClass)”)选取样式名不是myClass的<input>

    l         :even、:odd 选取索引是奇数、偶数的元素; $(“input:even”)选取索引为偶数的<input>

    l         :eq(索引序号)、:gt(索引序号)、:lt(索引序号) 选取索引等于、索引大于、索引小于序号的元素,比如: $(“input:lt(2)”) 选取索引值小于2的<input>

    l         $(“:header”) 选取所有的h1…….h6元素

    l         $(“div:animated”) 选取正在执行动画的<div>元素

     案例:

       $(function () {

                $("#table1 tr:first").css("fontSize", "40px");

                $("#table1 tr:last").css("background", "red");

                $("#table1 tr:gt(1) :lt(4)").css("fontSize", "30");

                $("#table1 tr:even").css("background","red");

            });

    l         相对定位:只要在$()指定第二个参数,第二个参数为相对的元素。$(“ul”,$(this)).css(“background”,”red”)

    l         属性过滤器:

     $(“div[id]”)选取有id属性的<div>

     $(“div[title=test]”)选取 title属性值为”test”的<div> 因为jQuery没有getElementByName的方法封装。只能使用上述方法选取.如:$(“div[name=abcd]”) 表示选取name属性值为abcd的<div>

     $(“div[title!=title]”)选取title属性值不为”title”的<div>

    l         表单对象选择器 注意#form1与:enabled之间没有空格

     $(“#form1:enabled”)选取id为form1的表单内所有启动的元素

     $(“#form1:disabled”)选取id为form1的表单内所有禁止的元素

     $(“input:checked”)选取所有选中的元素(Radio,CheckBox)

     $(“select:selected”)选取所有选中的选项元素(下拉列表)

    $(function () {

                $("input[value=选?中D城?市ºD]").click(function () {

                    $("input:checked").css("background","red");

                });

            });

    l         元素的each jQuery元素也可以调用each方法,只是对$.each的简化调用。

     案例:显示选中的复选框信息

      <head>

        <title></title>

        <script src="js/jquery-1.4.2.js" type="text/javascript"></script>

        <script type="text/javascript">

            $(function () {

                $("input[name=names]").click(function () {

                    var arr = new Array();

                    $("input[name=names]:checked").each(function (key, value) { arr[key] = $(value).val(); });

                    $("#show").text("共选中"+arr.length+"项"+arr.join(","));

                });

            });

        </script>

    </head>

    <body>

    <input type="checkbox" name="names" value="小罗" />小罗<br />

    <input type="checkbox" name="names" value="小周" />小周¨<br />

    <input type="checkbox" name="names" value="小王" />小王<br />

    <p id="show"></p>

    l         表单选择器

     $(“:input”) 选取所有<input>、<textarea>、<select>、<button>元素,和$(“input”)区别,$(“input”)只能获得<input>

    $(“:text”)选取所有单行文本框,等价于$(“input[type=text]”)

    $(“:password”)选取所有的密码框,同理的还有::radio、:checkbox、:submit、:image、:reset、:button、:file、:hidden

    l         jQuery的DOM操作

    1. 使用html()可以读取或设置元素的innerHTML 如 alert($(“a:first”).html()); $(“a:first”).html(“hello”);
    2. 使用text()可以读取或设置元素的innerText 如alert($(“a:first”).text());  $(“a:first”).text(“hello”);
    3. 使用 attr()方法读取或设置元素的属性,对于jQuery没有封装的属性用attr进行操作

         如: $(“a:first”).attr(“href”)  $(“a:first”).attr(“href”,“http://www.baidu.com”)

    1. 使用reMove删除属性。删除属性和清空属性的区别:删除属性在源代码是没有看不到的,而清空属性在源代码中属性是存在的只是值为空

    l         动态创建Dom节点

    1. 使用 $(html字符串)来创建Dom节点,返回一个jQuery对象,然后调用append等方法将新创建的节点添加到Dom对象中
    2. var link=$(“<a href=”http://www.baidu.com”>百度</a>”);
    3. $(“div:first”).append(link);
    4. prepend 在元素开始添加元素 (添加儿子是在元素里面添加元素)
    5. after 在元素之后添加元素 (添加兄弟)
    6. before 在元素之前添加元素 (添加兄弟)

    l         jQuery的Dom操作

    1. 使用html()方法读取或者设置元素的innerHTML  alert($(“a:first”).html()) //读取元素的innrtHTML $(“a:first”).html(“hello”) //设置元素的html
    2. 使用text()方法读取或者设置元素的innerText  alert($(“a:first”).text()) //读取元素的innerText  $(“a:first”).text(“hello”); //设置元素的innerText
    3. 使用attr()方法读取或者设置元素的属性。对于jQuery对象没有封装的属性可以使用attr()方法进行操作。

     如:alert($(“a:first”).attr(“href”))   //添加了a的href属性

         $(“a:first”).attr(“href”,”http://www.baidu.com”)  //设置了a的href属性为 http://www.baidu.com

    1. 使用remove方法删除属性,删除的属性在源代码中看不到,而清空属性的值在代码中是存在的只是值为空。这是删除与清空的区别。

       $(function () {

                $("#btnremove").click(function () {

                    $("ul li[class=testli]").remove();

                });

            });

    1. remove方法的返回值是被删除的节点对象,还可以继续使用被删除的节点。比如重新添加到其他节点下:

    <head>

        <title></title>

        <script src="js/jquery-1.4.2.js" type="text/javascript"></script>

        <script type="text/javascript">

            $(function () {

                $("#btnright").click(function () {

                    var items = $("#select1 option:selected").remove();

                    $("#select2").append(items);

                });

                $("#btnleft").click(function () {

                    var items = $("#select2 option:selected").remove();

                    $("#select1").append(items);

                });

            });

        </script>

    </head>

    <body>

    <select id="select1" style="float:left;height:100px;15%" multiple="multiple">

    <option>北À¡À京?</option>

    <option>天¬¨¬津¨°</option>

    <option>长¡è沙¦3</option>

    <option>上¦?海¡ê</option>

    </select>

    <div style="float:left;15%">

    <input type="button" value=">" style="float:left;100%"/ id="btnright">

    <input type="button" value="<" style="float:left;100%" id="btnleft"/>

    </div>

    <select id="select2" style="float:left;15%" multiple="multiple">

     

    </select>

    </body>

    1. 案例加法计算器  需求解释:输入加数和被加数等到结果

     <head>

        <title></title>

        <script src="js/jquery-1.4.2.js" type="text/javascript"></script>

        <script type="text/javascript">

            $(function () {

                $("#btn").click(function () {

                    var txt1 = $("#text1").val();

                    var txt2 = $("#text2").val();

                    var txt3 = parseInt(txt1, 10) + parseInt(txt2, 10);

                    $("#text3").val(txt3);

                });

            });

        </script>

    </head>

    <body>

    <input type="text" id="text1" />+<input type="text" id="text2" /><input type="button" id="btn" value="=" /><input type="text" id="text3" />

    </body>

    7. 案例登陆界面  需求解释:倒计时实现登陆提醒

     <head>

        <title></title>

        <script src="js/jquery-1.4.2.js" type="text/javascript"></script>

        <script type="text/javascript">

            $(function () {

                $("#btn").click(function () {

                    var txt1 = $("#text1").val();

                    var txt2 = $("#text2").val();

                    var txt3 = parseInt(txt1, 10) + parseInt(txt2, 10);

                    $("#text3").val(txt3);

                });

            });

        </script>

    </head>

    <body>

    <input type="text" id="text1" />+<input type="text" id="text2" /><input type="button" id="btn" value="=" /><input type="text" id="text3" />

    </body>

     

  • 相关阅读:
    spicy及remote-viewer登录方法
    1000: 恶意IP 课程作业
    一种快速找数的方法
    基数排序c++实现
    二叉排序树的实现
    sicily 数据结构 1014. Translation
    堆排序实现
    插入排序实现--直接实现,二分插入实现
    希尔排序--改进的插入排序
    归并排序--较快的算法之一
  • 原文地址:https://www.cnblogs.com/luodao1991/p/2824072.html
Copyright © 2020-2023  润新知