前端学习: jQuery学习--Day01

前端学习: jQuery学习–Day01

创建了获取jQuery模板快捷键:jq+ Tab
网页调试快捷键:Alt+R

学习内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery.js"></script>
    <script>
        // 后面的window.onload会覆盖前面的
        window.onload=function(){

        }
        /*
            静态方法holdReady方法
             */
        /*暂停ready执行*/
        // $.holdReady(true)
        /*取消暂停*/
        // $.holdReady(false)

        /*
        jquery的入口函数不会被覆盖
         第一种写法
         */
        // $(document).ready(function(){
        //     alert("hello, Jquery");
        // })


        // 第二种写法,推荐
        $(function(){
            let $box1=$(".box1");
            //$可以直接创建一个标签并使用append方法添加到dom中
            let $p=$("<p>我是p</p>");
            $box1.append($p);

            /*
            jquery对象是一个伪数组
             */

            let arr=[1,3,5,7,9];
            let obj={0:1,1:3,2:5,3:7,4:9,length:5};
            //jquery中的each方法可以用来遍历伪数组
            //index:索引
            //value:索引值
            $.each(obj,function (index,value){
                console.log(index,value);
            })


            //map方法遍历伪数组
            /*
            和each方法的区别是
            1.each静态方法默认的返回值:遍历谁就返回谁
              map静态方法默认的返回值是一个空数组
            2.each静态方法不支持在回调函数中队遍历的数组进行处理
              map静态方法可以在回调函数中通过return对遍历的数组进行处理,然后生成一个新的数组返回
             */
            let res=$.map(obj,function(value,index){
                console.log(index,value);
                return value+index;
            })
            console.log(res);

            /*
            trim方法去除字符串空格
            不能直接调用,需要用一个变量去接收返回值
             */
            let str="   str    ";
            let rest=$.trim(str);
            console.log("---"+rest+"----");

            /*
            $.isWindow()
            判断传入对象是否为window
            $.isArray()
            判断传入对象是否为真数组
            $.isFunction()
            判断传入对象是否为一个函数
             */
            let resj=$.isFunction(jQuery);//jQuery框架本质上是一个匿名函数
            console.log(resj);

            /*
            选择器

            :empty 找到既没有文本也没有子元素的指定元素
            用法:$("div:empty");
            :parent 找到有文本内容或者有子元素的指定元素
            用法:$("div:parent");
            :contains 找到包含指定文本内容的指定元素
            用法:$("div:contains('文本内容')");
            :has 找到包含指定子元素的指定元素
            用法:$("div:has('子元素')");

             */

            /*
            属性节点
            HTML标签中添加的属性就是属性节点
             */

           /*
           js中属性节点的操作
           */
            let span=document.getElementsByTagName('span')[0];
            /*
            设置属性节点的值
             */
            span.setAttribute("name","zbx");
            /*
            获取属性节点的值
             */
            console.log(span.getAttribute("name"));

            /*
            jQuery中属性节点的操作
             */
            /*
            获取属性节点的值  一个参数
            注意:无论找到多少个元素,只会返回第一个元素的指定属性节点的值
             */
            console.log($("span").attr("name"));
            /*
            设置属性节点的值  两个参数
            如果设置的属性节点不存在,系统会自动新增
             */
            $("span").attr("abc","123");

            /*
            删除属性节点
            如果想删除多个,在参数中空格输入即可
             */
            $("span").removeAttr("class name");
            /*
            prop方法:和attr方法类似
            什么时候用prop?  当属性的返回值是true或false时用prop,如:checked,selected,disabled;其余的都用attr()
             */
            // $("span").eq(0):获取第一个span
            $("span").eq(0).prop("demo","666");

            /*
            prop和attr练习:输入路径点击按钮切换图片
             */
            $("button").click(function(){
                let content=document.getElementsByTagName("input")[0];
                var text=content.value;
                $("img").attr("src",text);
            });
            /*
            添加类 addClass
            如果要添加多个类,用空格隔开
            删除类 removeClass
            如果要删除多个类,用空格隔开
            切换类 toggleClass
            有就删除,没有就添加
             */
            $("span").toggleClass("class1 class2");

        });
    </script>
</head>
<body>
<div class="box1"></div>
<span class="zbx" name="666"></span>
<!--prop和attr练习:点击按钮切换图片-->
<input type="text">
<button>切换图片</button><br>
<img src="https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png">
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值