继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

HTML基础(jQuery续)

这个名字没人起
关注TA
已关注
手记 271
粉丝 19
获赞 92


5、文档处理: 对HTML页面的内容进行一些增删改改的操作。

涉及到的知识点:

    appendTo :把匹配的元素追加到另一个指定的元素集合中

     prepend  :向每个匹配的元素内容之前插入内容

    clone   :复制匹配的元素

    remove   :删除匹配的元素

    empty   :清空匹配的元素的所有子元素

例子:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title></title></head><body>    <div id="d1">        <div>            <a onclick="Addto(this,'#d1');"> + </a> <!--点击此加号会自动添加-->            <input type="text" style="margin-top: 5px;"/>        </div>    </div>    <div style="height: 50px;"></div>    <div id="d2">        <textarea style="height: 100px;">文本一</textarea>        <input type="button" value="左移到右" onclick="Move(this);"/>        <textarea style="height: 100px;">文本二</textarea>        <input type="button" value="清空文本" onclick="Empty();"/>    </div>    <script src="/jquery-2.2.0.js"></script>    <script>        function Addto(ths,con){            var cp = $(ths).parent().clone();   //找到当前元素的父标签并复制其所有内容            //修改获取到的内容:            //首先把第一个子元素的文本改成‘—’            //然后再把里面的onclick属性值改成Remove(this')            cp.children(':first').text('-').attr("onclick","Remove(this)");            cp.appendTo(con);   //把修改后的内容追加到传入的ID所在元素的最后面        }        function Remove(ths){            $(ths).parent().remove();   //找到当前元素的父元素 并将其删除,也就是删除自己。        }        function Move(ths){            var cp = $(ths).prev().text();  //获取文本一的内容            $(ths).prev().text('');     //获取完成后清空文本一            cp = cp + '\n'              //增加换行符            $(ths).next().prepend(cp);  //查找到文本二所在元素位置并在文本二之前插入文本一内容        }        function Empty(){            $('textarea').empty();  //清空所有的textarea元素的内容        }    </script></body></html>

6、事件

涉及到知识点:

    ready:当页面DOM加载完成后执行包含的代码

    focus:设置页面某元素获取焦点,也可设置获取焦点后执行代码

    blur:当元素失去焦点时触发并执行代码

    change:当元素内容发生改变时触发

    bind:为某元素绑定一个事件

    click:单击事件

    hover:鼠标悬停事件(鼠标移动到一个对象上及移出这个对象时)的方法

 

例子:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title></title>    <style>        .change_color{            background-color: deepskyblue;        }        .bk{            border: solid 2px green;        }    </style></head><body>    <input id="d1" type="text">    <input id="d2" type="button" value="隐藏输入框">    <script src="/jquery-2.2.0.js"></script>    <script>                $(function(){            //当页面DOM加载完成后执行,$(document).ready(function(){ 的简写方式                             $('#d1').focus();   //自动把焦点设置到ID为d1的元素上            $('#d1').blur(function(){   //当元素失去焦点时执行                $(this).change(function(){  //如果元素内容发生改变时执行                    $(this).addClass('bk'); //修改元素边框样式                });            });            $('#d2').bind("click",function(){   //为ID为d2的元素绑定一个click事件                $('#d1').hide();    //隐藏ID为d1的元素            });            $('#d2').hover(     //当ID为d2的元素发生鼠标悬停事件时执行                function(){                  $(this).addClass('change_color'); //鼠标悬停时添加样式                },                function(){                    $(this).removeClass('change_color');    //鼠标移走时去除样式                }            );        });    </script></body></html>

7、自定义插件

说明:jQuery虽然已经提供了很多方法,但是总会有某些时候我们想自定义一些方法。jQuery提供了一个插件机制来满足此类需求。

例子:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title></title></head><body>    <script src="/jquery-2.2.0.js"></script>    <script>        (function(arg){         //自执行函数,这里的arg是一个形参,值是最后的括号中传入的jQuery            arg.extend({        //jquery扩展方法的语法:等于 jQuery.extend               "login":function(){  //格式为“方法名称”:方法主体代码                   return 123;    //执行的代码               }            });        })(jQuery);     //传入参数值        var ret = $.login();    //执行自定义的jQuery方法        console.log(ret);       //查看结果    </script></body></html>


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP