• jQuery


    jquery的引入

    1.官网下载jquery文件保存到本地通过script的src引入

    2.直接通过srcipt的src链接官网文档的地址

    jq操作页面

    //jq选择器  - 得到的是jq对象 - jq对象可以调用jq库里的所有功能
        //$和jquery是一样的 语法 let h1 = $('css语法')
            let h1 = $('.d1');
        //jq对象我们可以把他看成一个装着js对象的数组,因此我们可以根据索引取出想要的js对象
            let h = $('div')[0];  // 这样取出来的js对象
        //假如我们匹配出了多个标签对象,又向指定固定标签的jq的对象,可以使用eq()的方法
            let hh = $('.head').eq(1); // 取出的就是第二个标签对应的jq对象
        //总结
            `
            1.$('css选择器语法') 就是jq选择器 获得的是jq对象,jq对象可以理解为存放了js对象的数组(存放了几个不需要关心)
            2.jq对象转换为js对象  jq对象[js对象所在的索引]  - 可以使用js语法
            3.js对象转换成jq对象  $(js对象)  - 可以使用jq语法
    
            `;
    //操作页面三步骤 1.获取标签 2.绑定事件 3.操作标签
    
    $('.d2').click(function (ev) {
        //传进来的ev还是鼠标对象
        console.log(ev);
        console.log(ev.clientY);
        console.log(ev.clientX);
        //jq事件中的this还是js对象,可以直接使用js语法,如果还想使用jq语法,需要转成jq对象
        $(this);    //转成了jq对象
        //也可以在事件中获取任何标签的jq对象,通过css选择器语法
        $('body');  //body的jq对象
    })

    jq常用的操作

    以下只讲解部分常用操作,更多操作可查看官方API

    //首先获得jq对象
        let $title = $('.title');
    //1.操作文本
        $title.text();   //获得文本内容
        $title.html();   //获得标签内容
        $title.val();    //获得表单内容
    //2.样式操作
    //设置样式
        $title.css('css中的属性名','css中的属性值'); //单一样式设置
        $title.css({
            '属性1':'值1',
            //....
            '属性n':'值n'
        });                     //一次设置多个样式
        $title.css("css中的属性名",function () {
            //后面的值可以通过函数返回值获得,好处是可以加入逻辑
        });
    //3.类名   给一个标签加入提前设置好属性的类型,可以一次性加入设置好的一套样式
        //添加类型
        $title.addClass("类名");
        //删除类名
        $title.removeClass("类名");
        //切换类名  就是点击一下添加,点击第二下删除
        $title.toggleClass("类名");
    //4.属性
        //获取属性值
        $title.attr("属性名");
        //设置属性值
        $title.attr("属性名","属性值");
        //删除属性值     属性值设为空就是删除
        $title.attr("属性名","")

    jq的链式操作

    //由于大部分jq对象方法的返回值都是jq对象本身,所以可以连续点出方法使用
    //eg:
    $title.css('color','red').click(function () {
        console.log(this);
    }).text();
    //有几个常见返回值不是jq对象本身的:text()  height()  width()

    jq操作文档

    //1.快速定位到某一个jq对象
        //在jq集合中快速定位某一个: jq对象.eq(索引)
        $title.eq(1);
        //在jq集合中都具有系统事件,在事件中如何区别每一个jq对象
        //每一个jq对象都绑定了同一个事件,我要分辨出这次触发事件是谁触发的,并且执行谁的事件
        $title.click(function () {
           //通过this 可以找出当前jq对象在jq集合中的索引,就可判断出是谁触发的并且执行什么任务
           //  let index = $title.index($(this));
            let index = $(this).index();  //上面或者这个都能得到索引
            console.log(index);
        });
    //2.通过自身快速定位到亲戚们
        //上兄弟   prev
            $title.prev();
        //上兄弟们 prevAll
            $title.prevAll();
        //下兄弟   next
            $title.next();
        //下兄弟们 nextAll
            $title.nextAll();
        //兄弟们   siblings
            $title.siblings();
        //孩子们   children
            $title.children();
        //父级标签   parent
            $title.parent();
        //所有直系上级标签 parents
            $title.parents();
    
    //3.动态生成页面结构
        //生成标签
        let $table = $('<table></table>');
        // 为标签添加css样式
        $table.css({
            color:'red',
            border:'1px solid green'
        });
        //获取目标标签
        let $tag = $('.tag');
        $tag.append($table);    //加入到目标标签子标签的最后面(父子关系)
        $tag.prepend($table);   //加入到目标标签子标签的最前面(父子关系)
        $tag.before($table);    //在目标标签前面加标签(兄弟关系)
        $tag.after($table);     //在目标标签后面加标签(兄弟关系)

    需求:设计一个表格按钮,点击表格按钮,在后面插入指定宽高的表格

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="">
        <input type="number" placeholder="插入行">
        <input type="number" placeholder="插入列">
        <input type="text" placeholder="单元格内容">
        <input type="button" value="插入表格">
    </form>
    </body>
    <script src="js/jquery-3.4.1.js"></script>
    <script>
        //先为按钮绑定点击事件
        $('form').children().eq(3).click(function () {
            let $table = $('<table></table>');   //生成一个表格
    
        let $inp = $('input');  //获取input的jq对象
        let row = $inp.eq(0).val();     //获取行数
        let col = $inp.eq(1).val();     //获取列数
        let content = $inp.eq(2).val(); //获取每个单元格的内容
    
        //开始为表格里添加行
        for (let r = 0;r < row; r++){
            let $row = $('<tr></tr>');   //生成行
            $table.append($row);    //将行插入到表格里
            //为每一行中添加单元格
            for (let c = 0; c < col; c++){
                let $col = $('<td>'+content+'</td>');    //生成单元格,带内容的
                $row.append($col);  //将单元格插入到行中
            };
        };
        $('form').after($table);    //最后别忘记把表格插入到from表单后面
        });
    </script>
    </html>
    完整过程代码
  • 相关阅读:
    Python获取Linux的家目录
    Python 批量安装包、查看当前程序依赖的包
    获取linux目录下最新的文件
    Linux破解navicat
    Linux添加PATH
    Linux下文件分析 | 命令行
    ROP | 蒸米 -x86
    Jarvis OJ | guess
    杂项入门
    Whale ctf | misc
  • 原文地址:https://www.cnblogs.com/hesujian/p/11148097.html
Copyright © 2020-2023  润新知