zoukankan      html  css  js  c++  java
  • jquery 练习笔记

    复制代码

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>Title</title>
      6     <style>
      7         .body{
      8             color: #0e90d2;
      9             height: 2000px;
     10         }
     11 
     12         .selected{
     13             color: red;
     14         }
     15         .size{
     16             font-size: 20px;
     17         }
     18 
     19         p{
     20             border: 1px solid red;
     21             /*height: 0px;*/
     22         }
     23         .entered{
     24             background-color: #ffff99;
     25         }
     26         .highlight{
     27             background-color: springgreen;
     28         }
     29 
     30     </style>
     31 </head>
     32 <body>
     33     <select id="single">
     34       <option>Single</option>
     35       <option>Single2</option>
     36     </select>
     37     <select id="multiple" multiple="multiple">
     38       <option selected="selected">Multiple</option>
     39       <option>Multiple2</option>
     40       <option selected="selected">Multiple3</option>
     41     </select><br/>
     42     <input type="checkbox" value="check1"/> check1
     43     <input type="checkbox" value="check2"/> check2
     44     <input type="radio" value="radio1"/> radio1
     45     <input type="radio" value="radio2"/> radio2
     46 
     47 
     48     <p><input type="text" /> <span>focusout fire</span></p>
     49 <p><input type="password" /> <span>focusout fire</span></p>
     50 
     51 <button id="old">.trigger("focus")</button>
     52 <button id="new">.triggerHandler("focus")</button><br/><br/>
     53 <input type="text" value="To Be Focused"/>
     54 
     55     <div class="body">
     56         <h1>登录表单</h1>
     57         <form id="[search]" action="https://www.sogou.com/web" name="query">
     58             <br id="br">
     59             <p>用户名:<input id="user" name="user" type="text"></p>
     60             <p>密码:<input name="pwd1" type="password"></p>
     61             <div>test</div>
     62             <p>确认密码:<input name="pwd2" type="password" ></p>
     63             <span>dd</span>
     64             <input type="checkbox" />
     65             <input type="submit" value="登录">
     66             <input type="reset" value="重置">
     67             <span>test</span>
     68             <label></label>
     69 
     70 
     71         </form>
     72         <h2>登录</h2>
     73     </div>
     74     <div id="n1">
     75         <p id="n2" class="demo test" data-key="UUID" data_value="1235456465">CodePlayer</p>
     76     </div>
     77     <script src="jquery-2.2.3.js"></script>
     78 
     79     <script>
     80         //选择器
     81 //        $("#\[search\]").submit(); //通过#操作对应ID的元素
     82 //        console.log($('#\[search\]')); //匹配特殊字符的ID
     83 //        console.log($('input'));  //通过元素名称匹配选择标签
     84 //        console.log($('.body')); //通过搜索应用的类选择标签
     85 //        console.log($("*")); //找到所有的元素
     86 //        console.log($(".body ,#\[search\] , input:text")); //一次性匹配多个元素,一:应用了css类body的元素;二:id为[search]
     87 //        的元素;三:input属性为text的元素,注意,如果是查找某个元素自身的属性,中间不能有空格,如果是查找某个元素下子元素包含这个属性的元素,需要空格
     88 //        console.log($('form :password')); //:为找属性值为某种类型的元素,
     89 //        console.log($('form > input'));  //查找子级同级别为input元素
     90 //        console.log($("p + input"));  //查找p标签后紧跟input的这个input标签,非p标签的子级,同级关系
     91 //        console.log($("p ~ input"));  //找到所有与p标签同级的INPUT标签
     92 //        console.log($('input:first')); //查找第一个input标签
     93 //        console.log($("input:not(:password)")); //查找所有input标签除了属性是密码类型的input标签
     94 //        console.log($("input:even"));  //匹配所有input标签顺序是偶数的,从0开始
     95 //        console.log($("input:odd"));  //匹配所有input标签索引是奇数的,下标从0开始
     96 //        console.log($("input:eq(2)")); //匹配所有input标签,且下标为2
     97 //        console.log($("input:gt(2)")); //匹配所有input标签,且下标大于2
     98 //        console.log($("input:last")); //匹配所有INPUT标签,索引排序最后的一个
     99 //        console.log($("input:lt(2)")); //匹配索引input标签,且索引小于2
    100 //        console.log($(":header")); //匹配所有标题元素,如h1,h2...
    101 //        console.log($("form:has(p)"));  //查找所有包含p标签的form元素,
    102 
    103         //筛选
    104 //        console.log($("p").eq(1)); //获取所有P标签,下标为1的jquery对象,类似于get(index),但是get返回的dom对象
    105 //        console.log($("p").first());  //获取所有P标签,下标为0的元素
    106 //        console.log($("input").last());  //获取所有input标签中最后一个元素
    107 
    108 //        console.log($('form').children()); //匹配form元素下所有的子标签,注意,不包括子元素下的子标签
    109 //        console.log($("p").find("input"));  //搜索所有P标签下包含input的input元素,与$("p input")相同
    110 //        console.log($("p").next());  //返回所有p标签后面紧邻的每一个同级元素的第一个元素,
    111 //        console.log($("p").nextAll());  //返回所有与第一个p标签同级的后面所有同级标签
    112 //        console.log($("p").nextUntil("input"));  //查找到第一个P标签后,开始.从P标签后面的所有标签到遇到input标签为止的区间标签
    113 //        console.log($('p').parent());  //查找所有P标签的父元素
    114 //        console.log($("input").parents('p'));  //查找所有input标签的父标签是p的p元素
    115 //        console.log($("input").parentsUntil('form'));  //查找所有input标签的祖先标签到form标签为止就不查了,注意,不能将util到父标签,这样就是除了父标签的所有祖先标签
    116 //        console.log($("p").prev());  //获取每一个包含P标签的同级的前一个元素集合
    117 //        console.log($("p").prevAll()); // 获取最后一个P标签之前对所有同级标签
    118 //        console.log($("p").prevUntil('#br'));  //获取最后一个P标签之前的所有同级元素,到id为br元素后一个为止
    119 //        console.log($("input").siblings());  //将input标签的同辈所有标签获取,如果同辈标签含有INPUT子标签,则优先找父辈标签
    120 
    121         //属性
    122 //        console.log($("input").attr({style:"color:red;"}));
    123         // $("p").attr("style","color:red;");//对指定标签设置属性
    124 //        console.log($("input").attr("style"));  //获取某个元素对属性值
    125 //        console.log($("p").removeAttr("style")); //移除指定标签对样式属性值
    126 //        console.log($("input[type='text']").prop("name")); //获取指定标签对name属性值
    127 //        $("input[type=checkbox]").prop('checked',true);  //设置指定标签属性
    128 //        $("input[type=checkbox]").prop({'style':"height:40px"});  //设置指定标签属性
    129 
    130 
    131 //         var $x = $("label");
    132 //        $x.prop("check","checked");
    133 //        $x.append("<input type='checkbox'  "+$x.prop("check")+"/>");  //查看并设置添加属性
    134 //        $x.removeProp("check");  //移除属性
    135 //        $x.append("<input type='checkbox'  "+$x.prop("check")+"/>");  //移除后,属性变为为定义
    136 
    137 
    138 
    139 //        console.log($("p").addClass("selected"));//添加一个样式
    140 //        $("p").addClass("selected size");//添加多个样式
    141 //        console.log($("p").removeClass("selected"));  //移除一个样式
    142 
    143 //        console.log($("p").html("<br/>")); //这样做会直接覆盖原来的标签
    144 //        (function () {
    145 //            var tag_list = $("p").html();
    146 //            console.log(tag_list);
    147 //                var before = tag_list;
    148 //                console.log(before);
    149 //                $("p").html(before + "<br/>");
    150 //        })();
    151 //
    152 //        $("p").html(function(n){
    153 //    return "这个 p 元素的 index 是:" + n;
    154 //    });
    155 
    156 
    157 //        console.log($("p").text('hao')); //修改p标签内部的文本内容
    158 //        $("p").text(function (index,text) {  //此函数返回一个字符串。接受两个参数,index为元素在集合中的索引位置,text为原先的text值。
    159 //            return "hao"+text;
    160 //        });
    161 
    162 
    163 //        console.log($("p input").val('h'));
    164 //        $("p input").val(function (index,value) {//此函数返回一个要设置的值。接受两个参数,index为元素在集合中的索引位置,text为原先的text值
    165 //            return "hello" + value;
    166 //        });
    167 //        $('input:text.items').val(function() {
    168 //  return this.value + ' ' + this.className;
    169 //});
    170 //        $("#single").val("Single2");
    171 //$("#multiple").val(["Multiple2", "Multiple3"]);
    172 //$("input").val(["check2", "radio1"]);
    173 
    174 
    175 //        $("#single").val("Single2");
    176 //$("#multiple").val(["Multiple2", "Multiple3"]);
    177 //$("input").val(["check2", "radio1"]); //将value值对应check2,radio1选中
    178 
    179 
    180 //        console.log($("p").css('color')); //获取所有P标签的CSS颜色
    181 //        $("p").css('color','red');//设置颜色
    182 //        $("p").css({'color':'red','font-size':'24px'});//设置颜色并设置字体大小
    183 //        $("p").click(function () {
    184 //            $(this).css({
    185 //                color:"red", //当单击事件时,颜色变红
    186 //                "font-size": function (index,value) {
    187 //                    return parseFloat(value) * 1.5;
    188 //                }
    189 //            })
    190 //        });
    191 
    192 //        var p = $("p:last"); //获取最后一个p标签
    193 //        p.offset({top:90,left:500});
    194 ////        var offset = p.offset();//获取坐标值top:value,left:value
    195 //        p.html( "left: " + p.offset().left + ", top: " + p.offset().top );
    196 //        console.log(offset);
    197 
    198 //        console.log($("form").offset());
    199 //
    200 //        var p = $("p:first");
    201 //        var position = p.position(); //Object {top: 186.875, left: 8} //仅仅用来获取元素的偏移
    202 //        p.html("left:"+position.left+",top"+position.top);
    203 //
    204 //        console.log(position);
    205 
    206 //        $("p:first").scrollTop(900);
    207 //        $("p:first").scrollLeft(70);
    208 //        console.log($("p:first").scrollTop()); //获取匹配元素相对滚动条的偏移,此方法对可见和隐藏元素均有效。
    209 
    210 
    211 //        console.log($("p").height()); //获取指定P元素的高度
    212 //        $("p").height(30); //设定p元素的高度
    213 //        $("input").click(function () {
    214 //            $(this).height(function (index,height) {
    215 //                return height + 300;
    216 //            })
    217 //        });
    218 
    219 
    220 
    221 //        $("p").width(30); //设定p元素的高度
    222 //        $("input").click(function () {
    223 //            $(this).width(function (index,width) {
    224 //                console.log($(this).width());
    225 //                return width + 3000000;
    226 //            })
    227 //        });
    228 //        console.log($("p").width()); //获取指定P元素的宽度,相对于当前窗口而言,因为P是块标签
    229 
    230 
    231 
    232 //        console.log($("p:last").innerHeight()); //获取p标签内部高度
    233 //        console.log($("p:last").innerWidth()); //获取P标签的内部宽度
    234 //        var p = $("p:first");
    235 //        console.log(p.outerHeight(),p.outerHeight(true));  //获取标签外部高度,包括补白和边框,理解不够透???
    236 //        console.log($("p:first").outerWidth()); //算上边框和补白
    237 //        console.log($("p:first").outerWidth(true));
    238 //        $("p:last").text( "outerWidth:" + p.outerWidth() + " , outerWidth(true):" + p.outerWidth(true) );
    239 
    240 
    241 //内部插入
    242 //        console.log($("p").append("<b>hello</b>"));  //指定元素添加新元素,在p元素里添加新元素
    243 
    244 
    245 //        console.log($("p").appendTo("#n2"));  //将所有的P标签添加到IDn2元素内
    246 
    247 
    248 //        console.log($("p").prepend("<b>hello</b>"));  //将元素插入到P元素内部的前面
    249 
    250 //        console.log($("p").prependTo("#n2"));  //将p元素插入到idn2元素内的前面
    251 
    252 
    253 
    254 
    255 //        console.log($("p").after("<b>hello</b>")); //在每个P标签后插入一个新元素.外部插入
    256 
    257 //        console.log($("p").before("<b>hello</b>"));  //在每个P标签前面插入一个新元素,外部插入
    258 //        console.log($("p").insertAfter("#n2"));  //将所有P标签插入到ID N2后,外部插入
    259 //        console.log($("p").insertBefore("#n2"));  //将所有P标签插入到ID N2前,外部插入
    260 
    261 
    262 //        console.log($("p").empty());  //清空所有P标签内部内容
    263 //        console.log($("p").remove());  //将匹配的P标签从DOM里删除,
    264 //        console.log($("p").detach());  //与remove类似,但是它会保留所有绑定的事件,附加数据等
    265 //        console.log($("p input").detach());
    266 //        console.log($("p").clone());
    267 //        console.log($("p").clone(true));  //clone默认参数false,指事件处理函数是否被复制
    268 //        console.log($("p").clone().prependTo("#n2"));  //将所有等P标签克隆一份并插入到ID N2内部前面
    269 
    270 
    271 
    272         //事件
    273 //        $(":checkbox").ready(function () {
    274 //            $(":checkbox").prop("checked",true); //注意,这里不能使用this,
    275 //            $(":radio").attr("checked","checked")
    276 //        });
    277 
    278 
    279 //        console.log($("p").on("click",function () {
    280 //            alert('ok')
    281 //        }));
    282 //        $("p").off( "click", "**" );
    283 //        function myHandler(event) {
    284 //            alert(event.data.do);  //弹出事件消息
    285 //        }
    286 //        $("p").on("click", {do: "bar"}, myHandler); //定义事件消息do
    287 //
    288 //        $("p").on("click", function(){
    289 //            alert( $(this).text() ); //触发点击鼠标事件时,显示p标签对文本内容
    290 //        });
    291 //
    292 //        $("form").on("submit", false);  //在提交表单时触发提交事件
    293 
    294 
    295 //        $("p").off();  //移除P标签上所有事件,
    296 //
    297 //        var foo = function () {
    298 //            alert($(this).text);
    299 //            // code to handle some kind of event
    300 //        };
    301 //
    302 //        // ... now foo will be called when paragraphs are clicked ...
    303 //        $("body").on("click", "p", foo);
    304 //                // ... foo will no longer be called.
    305 //        $("body").off("click", "p", foo);
    306 
    307 
    308 
    309 //        var validate = function () {
    310 //          // code to validate form entries
    311 //            alert('hello');
    312 //        };
    313 //
    314 //        // delegate events under the ".validator" namespace
    315 //        $("form").on("click.validator", "button", validate);  //绑定button元素鼠标点击事件,
    316 //
    317 //        $("form").on("keypress.validator", "input[type='text']", validate);
    318 //
    319 //        // remove event handlers in the ".validator" namespace
    320 //
    321 //        $("form").off(".validator"); //移除所有这个命名空间事件
    322 
    323 
    324 
    325         //bind
    326 
    327 //        $("p").bind("click", function(){
    328 //            alert( $(this).text() );  //绑定p标签上的click事件,然后执行相应处理方法
    329 //        });
    330 
    331 //        $('#n2').bind('mouseenter mouseleave', function() {
    332 //            $(this).toggleClass('entered');  //绑定多个事件,当鼠标放到指定位置,就添加相应的css类,当鼠标移走,触发离开事件,toggleClass判断如果指定的CSS类存在就删除,不存在就添加
    333 //        });
    334 //
    335 //          var count = 1;
    336 //          $("p").click(function(){
    337 //              $(this).toggleClass("highlight", count++ % 3 == 0);  //每点击3次触发一次点击事件
    338 //          });
    339 
    340 //        $("form").bind("submit", function() { return false; })
    341 
    342 //        $("form").bind("submit", function(event){
    343 //          event.preventDefault();  //取消默认行为
    344 //        });
    345 //
    346 //        $("form").bind("submit", function(event){
    347 //          event.stopPropagation();  //阻止一个事件起泡,当
    348 //        });
    349 //
    350 //        function handler(event) {
    351 //          alert(event.data.foo);
    352 //        }
    353 //        $("p").bind("click", {foo: "bar"}, handler);
    354 //
    355 //        $("button").bind({
    356 //          click:function(){$("p").slideToggle();},
    357 //          mouseover:function(){$("body").css("background-color","red");},
    358 //          mouseout:function(){$("body").css("background-color","#FFFFFF");}
    359 //        });
    360 
    361 
    362 //        $("p").one("click", function(){  //当鼠标第一次点击时,触发一次事件,再次点击不触发
    363 //          alert( $(this).text() );
    364 //        });
    365 
    366 //        $("form:first").trigger("submit");  //不用通过submit,只要执行这个代码,自动提交表单
    367 
    368 //        $("p").click( function (event, a, b) {
    369 //          // 一个普通的点击事件时,a和b是undefined类型
    370 //          // 如果用下面的语句触发,那么a指向"foo",而b指向"bar"
    371 //            console.log(a,b);
    372 //        } ).trigger("click", ["foo", "bar"]);
    373 
    374 //        $("p").bind("myEvent", function (event, message1, message2) {  //p标签绑定事件,触发一个hello world消息
    375 //          alert(message1 + ' ' + message2);
    376 //        });
    377 //        $("p").trigger("myEvent", ["Hello","World!"]);
    378 
    379 
    380 //        $("#old").click(function(){
    381 //          $("input").trigger("focus");  //会触发默认事件
    382 //        });
    383 //        $("#new").click(function(){
    384 //          $("input").triggerHandler("focus"); //只触发你绑定的动作,,浏览器默认动作不触发
    385 //        });
    386 //        $("input").focus(function(){
    387 //          $("<span>Focused!</span>").appendTo("body").fadeOut(1000);
    388 //        });
    389 //
    390 //        $("input").unbind();  //从每一个匹配的元素中删除绑定的事件
    391 
    392 
    393 //        $("p").blur();
    394 //        $("p").blur( function () { alert("Hello World!"); } );  //当元素失去焦点时触发 blur 事件。
    395 
    396 
    397 //        $("input[type='text']").change( function() {  //当元素的值发生改变时,会发生 change 事件
    398 //            alert(22);
    399 //        // 这里可以写些验证代码
    400 //        });
    401 
    402 //        $("p").click( function () { $(this).hide(); });  //将页面内所有段落点击后隐藏。
    403 //
    404 ////        $("p").dblclick( function () { alert("Hello World!"); }); //给页面上每个段落的双击事件绑上 "Hello World!" 警告框
    405 //
    406 //
    407 //        $(window).error(function(){  //隐藏JavaScript错误:
    408 //          return true;
    409 //        });
    410 //
    411 //        $("img").error(function(){  //给你IE的用户隐藏无效的图像:
    412 //          $(this).hide();
    413 //        });
    414 //
    415 //
    416 //        $(window).error(function(msg, url, line){  //在服务器端记录JavaScript错误日志:
    417 //          jQuery.post("js_error_log.php", { msg: msg, url: url, line: line });
    418 //        });
    419 
    420 
    421         //当元素获得焦点时,触发 focus 事件。
    422 //        $(document).ready(function(){  //当页面加载后将 id 为 'user' 的元素设置焦点:
    423 //          $("#user").focus();
    424 //        });
    425 //
    426 //        $("input[type=text]").focus(function(){
    427 //          this.blur();  //使人无法使用文本框:
    428 //        });
    429 //当元素获得焦点时,触发 focusin 事件。
    430 
    431 //获得焦点后会触发动画:
    432         $("p").focusin(function() {
    433           $(this).find("span").css('display','inline').fadeOut(1000);
    434         });
    435 
    436 
    437 //        当元素失去焦点时触发 focusout 事件。
    438         $("p").focusout(function() {
    439           $(this).find("span").css('display','inline').fadeOut(1000);
    440         });
    441 
    442 
    443 //        当键盘或按钮被按下时,发生 keydown 事件。
    444         $(window).keydown(function(event){
    445           switch(event.keyCode) {
    446             // ...
    447             // 不同的按键可以做不同的事情
    448             // 不同的浏览器的keycode不同
    449             // 更多详细信息:     http://unixpapa.com/js/key.html
    450             // 常用keyCode: 空格 32   Enter 13   ESC 27
    451           }
    452         });
    453 
    454     </script>
    455 </body>
    456 </html>
    复制代码
  • 相关阅读:
    Kubernetes1.91(K8s)安装部署过程(一)--证书安装
    开源仓库Harbor搭建及配置过程
    有关centos7 图形化root用户登录
    linux服务器查看tcp链接shell
    django表格form无法保存评论排查步骤
    Redis 4.x 安装及 发布/订阅实践和数据持久化设置
    django博客项目-设置django为中文语言
    windows 环境下如何使用virtualenv python环境管理工具
    【转载】python中利用smtplib发送邮件的3中方式 普通/ssl/tls
    php安装phpize工具
  • 原文地址:https://www.cnblogs.com/dusihan/p/10131869.html
Copyright © 2011-2022 走看看