客户端网页编程09——Jquery

客户端网页编程09——Jquery


二级联动

个人理解:所谓框架就是别人把写好的功能封装成的源生代码,我们需要哪些功能就直接拿来用!

jquery:前端框架(对JavaScript原生代码的封装)
jquery封装 JavaScript 原生代码:方法的封装
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <p id="p1">this is p</p>
    <p class="p1">this is p</p>
    <p class="p2 p3">this is p</p>
    <p class="p2">this is p</p>
    <script>
       /*var op = document.getElementById("p1");
       op.style.backgroundColor = "red";

       var op1 = document.getElementsByClassName("p1")[0];
       op1.style.backgroundColor = "orange";*/

        function $(text){
            //text文本进行拆分
            var chooseArr = text.split(" ");
            if(chooseArr.length==1){
                //通过传入的符号确定要调用的方法
                var ch = chooseArr[0].substr(0,1);
                switch(ch){
     case "#":return document.getElementById(chooseArr[0].substr(1));
     case ".":return document.getElementsByClassName(chooseArr[0].substr(1));
     default:return document.getElementsByTagName(chooseArr[0]);
                }
            }else{
               //继续判断传入的元素个数
            }
        }

        console.info($("#p1"));

       console.info($(".p1"))
        $(".p1")[0].style.backgroundColor = "red";
    </script>
</body>
</html>
jquery与原生代码区别: jquery返回的对象(Object),原生代码返回获取的元素
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="js/jQuery-2.2.2-min.js"></script>
    <script>
        /*原生js方法获取到p元素*/
        /*window.onload = function(){
            var op = document.getElementById("p1");
            console.info(op);
        }*/

        /*通过jquery方式来实现的元素获取*/
        /*$(document).ready(function(){
            var op = $("#p1");
            console.info(op);
        });*/


        $(function(){
            var op = $("#p1");
            console.info(op);
        });



    </script>
</head>
<body>
    <p id="p1"></p>

</body>
</html>
选择器:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>

    </style>

</head>
<body>
    <p id="p1">this is p</p>
    <p class="p1">this is p</p>
    <div></div>
    <input type="text" name="username"/>
    <span name="username">this is span</span>

    <ul id="ul1">
        <li>新闻</li>
        <li>体育</li>
        <li>更多</li>
    </ul>

    <table border="1" id="mytable">
        <tr>
            <td>123</td>
            <td>456</td>
        </tr>
        <tr>
            <td>567</td>
            <td>678</td>
        </tr>
        <tr>
            <td>789</td>
            <td>890</td>
        </tr>
    </table>
    <script src="js/jQuery-2.2.2-min.js"></script>
    <script>
        /*获取到id*/
        var op1 = $("#p1");
        console.info(op1);

        var jsop = document.getElementById("p1");
        console.info(jsop);

        /*根据class获取到元素*/
        var op2 = $(".p1");
        console.info(op2);

        /*通过name属性*/
        var oinp = $("[name=username]");
        console.info(oinp);
        oinp.css("background-color","red");

        /*通过标签名字获取到元素*/
        var odiv = $("div");
        console.info(odiv);

        /*选中元素的子元素*/
        $("#ul1 li:first-child").css("color","red");

        /*选中表格*/
        $("#mytable tr:even").css("background-color","red");
        $("#mytable tr:odd").css("background-color","pink");
    </script>
</body>
</html>

属性:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .as{
            color: red;
        }
    </style>
</head>
<body>
    <p name="test" title="index-1">this is p</p>
    <span id="span1">span <a href="">点我要死啊</a></span>
    <ul id="ul1">
        <li class="as">首页</li>
        <li>伟业</li>
        <li>下一页</li>
    </ul>

    <input type="text" name="username"/>
    <input type="button" id="btn"/>
    <script src="js/jQuery-2.2.2-min.js"></script>
    <script>
        /*var op = document.getElementsByName("test")[0];
        /!*对象.属性   op["下标"]*!/
        console.info(op.title);
        console.info(op["title"]);*/

        /*attr()一个参数获取属性值,两个参数这是属性值*/
        var value = $("[name=test]").attr("title");
        console.info(value);

        $("[name=test]").attr("title","test1");

        /*移除属性*/
        $("[name=test]").removeAttr("title");

        /*动态添加class属性*/
        /*$("#span1").attr("class","as");*/
        $("#span1").addClass("as");
        /*class设置为“”removeAttr()直接移除属性;*/
        $("#span1").removeClass("as");


      /*addClass方法设置class属性,调用方法的时候可以传递一个函数,最后返回一个值*/
        $("#ul1 li").addClass(function(){
            var res = "index"+$(this).index();
            return res;
            });


        /*toggleClass(),反选*/
        $("#ul1 li").toggleClass("as");


        /*var value = document.getElementById("ul1").innerHTML;

        console.info(value);*/
        /*html(),封装了js里面innerHTML属性*/
        console.info($("#ul1").html());

        $("#ul1").html("<li>123</li>");


        /*text();获取到元素内部的文本内容*/
        console.info($("#span1").text());

        /*val()获取到文本框的值,js里面value属性*/
        $("#btn").on("click",function(){
            var value = $("input[name=username]").val();
            console.info(value);
        })

        

    </script>
</body>
</html>

筛选
/*不推荐:jsjquery混合使用,混合使用很容易报错*/
console.info($("li")[0]);

console.info($("li").html());

/*获取到集合中指定下标的元素,0是第一个,-1是最后一个*/
console.info($("li").eq(-1));

/*first()*/
console.info($("li").first());

/*last()*/
console.info($("li").last())

/*hasClass()判断当前元素是否有指定class属性,jquery,获取到一个集合,取出集合中的所有内容,默认返回第一个元素的内容*/
var res = $("li").hasClass("li");

/*html();*/
$("li").addClass("as");
console.info(res);

/*each()循环取出内容*/
$("li").each(function(){
    console.info($(this).html());
});

/*filter()从集合中筛选出符合指定条件的元素,返回的是对象*/
var odiv = $("div").filter(".div");
console.info(odiv);

/*has()包含:获取的元素内部的条件是否符合要求*/
//$("div").has(".span").css("background-color","red");

/*find():针对的是子类*/
//链式表达
$("div").find(".span").css("background-color","red");

/*is():用来判断释放满足指定条件*/
var boo =$(".span").parent().is(".box");
console.info(boo);

boo = $(".box").children().is(".span");
console.info(boo);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值