zoukankan      html  css  js  c++  java
  • JQuery

    jQuery引入

    #方式一:
    	//jQuety官网下载地址	
    	'https://jquery.com/' 
    	//首先需要下载这个jQuery的文件,然后在HTML文件中引入这个文件,就可以使用这个文件中帮我们提供的jquery的接口了。  
    #方式二:
    	'https://www.bootcdn.cn/jquery/' 
    	//在这个网站复制jQyery的在线链接,然后在script标签中的src属性中写上这个接口
    	<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
    
    #注意:引入jQuery文件需要单独写一个script文件,然后在单独写一个script,用来写jQuery代码
    

    jQuery对象和DOM对象

    jquey方法找到的标签对象称为jquery对象
    原生js找到的标签对象称之为DOM对象
    dom对象只能调用dom对象的方法,jquery对象只能用jquery方法,不能互通
    

    JQurey对象和DOM对象互相转换

    #$('')是jQuery对象的固定写法
    //jquery对象 转换成 dom对象 : 
    	$('#d1')[索引] -- dom对象
        通过中括号索引的方式在jQuery中获取的对象都是DOM对象
    //dom对象转换为jquery对象 :  
    	$(dom对象) -- jquery对象
    

    查找标签

    基础选择器

    #$('')是jQuery的固定标签
    //ID选择器:
    	$('id值')
    //标签选择器:
    	$('标签名')
    //Class选择器:
    	$('.CLassName')
    //所有元素的选择器:
    	$('*')
    //配合使用的选择器:
    	$("div.c1") #找到有c1 class类的标签
    //组合选择器:
        $('#id,.className,tagName')//tagName标签名
    

    层级选择器

    #x和y可以是任意选择器,和css的差不多
    $("x y");// x的所有后代y(子子孙孙)
    $("x > y");// x的所有儿子y(儿子)
    $("x + y")// 找到所有紧挨在x后面的y
    $("x ~ y")// x之后所有的兄弟y
    

    基本选择器

    :first // 第一个
    :last // 最后一个
    :eq(index)// 索引等于index的那个元素
    :even // 匹配所有索引值为偶数的元素,从 0 开始计数
    :odd // 匹配所有索引值为奇数的元素,从 0 开始计数
    :gt(index)// 匹配所有大于给定索引值的元素
    :lt(index)// 匹配所有小于给定索引值的元素
    :not(元素选择器)// 移除所有满足not条件的标签
    :has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
    示例写法:
    	$('li:has(span)');
    	
        $("div:has(h1)")// 找到所有后代中有h1标签的div标签,意思是首先找到所有div标签,把这些div标签的后代中有h1的div标签筛选出来
        $("div:has(.c1)")// 找到所有后代中有c1样式类(类属性class='c1')的div标签
        $("li:not(.c1)")// 找到所有不包含c1样式类的li标签
        $("li:not(:has(a))")// 找到所有后代中不含a标签的li标签
    
    
    //和前面使用冒号的一样:first等,只不过冒号的那个是写在选择器里面的,而下面的这几个是方法
    .first() // 获取匹配的第一个元素
    .last() // 获取匹配的最后一个元素
    .not() // 从匹配元素的集合中删除与指定表达式匹配的元素
    .has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
    .eq() // 索引值等于指定值的元素
    

    绑定事件的简单方法

    // 绑定事件的方法
    $('#btn').click(function () {
        $('.mode')[0].classList.remove('hide');
        $('.shadow')[0].classList.remove('hide');
    	//jquery写法:
    	$('.mode,.shadow').removeClass('hide');
    })
    

    属性选择器

    [attribute]
    [attribute=value]// 属性等于
    [attribute!=value]// 属性不等于
    // 示例,多用于input标签
    <input type="text">
    <input type="password">
    <input type="checkbox">
    $("input[type='checkbox']");// 取到checkbox类型的input标签
    $("input[type!='text']");// 取到类型不是text的input标签
    

    表单筛选器

    //多用于找form表单里面出现的input标签,当然通过属性选择器找肯定也是没问题的,这样就是写着简单一些
    :text
    :password
    :file
    :radio
    :checkbox
    :submit
    :reset
    :button
    //示例:
    	$(":checkbox")  // 找到所有的checkbox
    	$(':text')		//找到type为text的input标签
    

    表单对象属性

    :enabled	//找到所有可用的标签
    :disabled	//知道到所有不可使用的标签
    :checked	//找到所有被选中的input标签
    :selected  // 找到所有被选中的option
    #示例:
    	<div>
            用户名: <input type="text">
        </div>
        <div>
            密码: <input type="password" disabled>
        </div>	
        <div>
            sex:
            <input type="radio" name="sex">男
            <input type="radio" name="sex">女
            <input type="radio" name="sex">不详
        </div>
        <select name="" id="">
            <option value="1">怼姐</option>
            <option value="2">珊姐</option>
            <option value="3">华丽</option>
            <option value="4">亚索</option>
        </select>
        //操作:
        //找到可以用的标签 
        	$(':enabled')
        //找select标签被选中的option标签 
        	$(':selected')
    #注意使用checked的时候会把所有input和select中被选中的标签都筛选出来,所以使用的时候要在冒号前面申明input标签
    

    链式表达式

    <ul>
        <li>陈硕</li>
        <li>子文</li>
        <li class="c1">李业</li>
        <li>吕卫贺</li>
        <li>峡谷先锋珊姐</li>
        <li class="c2">怼姐</li>
        <li>骚强</li>
    </ul>
    #示例:
    	$('li:first').next().css('color','green').next().css('color','red');
    	//链式表达式就是在一句代码中可以同时对多个标签进行设置
    

    筛选器方法

    下一个元素(从上往下找)

    $("#id").next()   //找到下一个标签
    $("#id").nextAll()	//找到下面所有的标签(包括后代)
    $("#id").nextUntil("#i2") //直到找到id为i2的标签就结束查找,不包含它
    
    #示例代码:
    <ul>
        <li>陈硕</li>
        <li>子文</li>
        <li class="c1">李业</li>
        <li>吕卫贺</li>
        <li>峡谷先锋珊姐</li>
        <li class="c2">怼姐</li>
        <li>骚强</li>
    </ul>
    
    #操作示例:
    	$('li:first').next()  //找到第一个标签的下一个标签
    	$(".c1").nextAll()	//找到id为c1的标签后面所有的标签
    

    上一个元素(从下往上找)

    $("#id").prev()		//找到上一个标签
    $("#id").prevAll()	//找到上面所有的标签
    $("#id").prevUntil("#i2")	//直到找到id为i2的标签就结束查找,不包含它
    

    父元素

    //$("#id").parent() 
    	查找当前元素的父辈元素
    //$("#id").parents()  
        查找当前元素的所有的父辈元素(爷爷辈、祖先辈都找到)
    //$("#id").parentsUntil('body') 
    	查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止,这里直到body标签,不包含body标签,基本选择器都可以放到这里面使用。
    

    儿子和兄弟元素

    //$("#id").children();
    	找到所有的子标签(后代)
    //$("#id").siblings();
    	找到所有的同级标签,不包含自己,.siblings('#id'),可以在添加选择器进行进一步筛选
    

    查找find

    //find			找的是后代
    	$("div").find("p")  -- 等价于$("div p")
    	这个函数是找出正在处理的元素的后代元素的好方法。
    

    筛选

    //filter()
    	筛选出与指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式。
    //示例:
    	$("div").filter(".c1") --等价于 $("div.c1") 
    	//从所有的div标签中过滤出有class='c1'属性的div,和find不同,find是找div标签的子子孙孙中找到一个符合条件的标签
    

    操作标签

    样式操作

    //addClass();
    	添加指定的CSS类名。
    //removeClass();
    	移除指定的CSS类名。
    //hasClass();
    	判断样式存不存在
    //toggleClass();
    	切换CSS类名,如果有就移除,如果没有就添加。
    

    CSS样式操作

    //单个方式:
    	$('div').css('background-color','green');
    //多个方式:
    	$('div').css({'background-color':'yellow','width':'400px'});
    

    位置操作

    //offset()
    	获取匹配元素在当前窗口的相对偏移或设置元素位置
    //position()
    	获取匹配元素相对父元素的偏移,不能设置位置
    //position和offset的区别:
        offset()方法允许我们检索一个元素相对于文档(document)的当前位置。和 .position()的差别在于: .position()获取相对于它最近的具有相对位置(position:relative或position:absolute)的父级元素的距离,如果找不到这样的元素,则返回相对于浏览器的距离。
        
    //示例代码:
    <!DOCTYPE html>
        <html lang="en">
            <head>
            <meta charset="UTF-8">
                <title>Title</title>
    <style>
                .c1{
                    background-color: red;
                    height: 100px;
                     100px;
                    display: inline-block;
                }
            .c2{
                background-color: green;
                height: 100px;
                 100px;
                display: inline-block;
            }
    </style>
    </head>
    <body>
        <div class="cc">
            <div class="c1"></div><div class="c2"></div>
                </div>
    <script src="jquey.js"></script>
    </body>
    </html>
    #======================================
    //$(window).scrollTop()  
    	滚轮向下移动的距离
    //$(window).scrollLeft() 
    	滚轮向右移动的距离
    //示例:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1,.c3{
                background-color: red;
                height: 500px;
                 200px;
            }
            .c2{
                background-color: green;
                height: 500px;
                 200px;
            }
            #back_top{
                height: 40px;
                 80px;
                position: fixed;
                right: 40px;
                bottom: 40px;
                background-color: black;
    
                text-align: center;
                line-height: 40px;
            }
            #back_top a{
                color:white;
                text-decoration: none;
            }
            .hide{
                display: none;
            }
        </style>
    </head>
    <body>
    <a name="xxx">这是顶部位置</a>
    <div class="c1"></div>
    <div class="c2"></div>
    <div class="c3"></div>
    <span id="back_top" class="hide">
        <a href="#xxx">回到顶部</a>
    </span>
    </body>
    <script src="jquery.js"></script>
    <script>
        $(window).scroll(function () {
            if ($(window).scrollTop() >= 200){
                $('#back_top').removeClass('hide');
            }else {
                $('#back_top').addClass('hide');
            }
        })
    </script>
    </html>
    

    尺寸操作

    //height() 
    	盒子模型content的大小,就是我们设置的标签的高度
    //width()	
    	盒子模型content的大小,就是我们设置的标签的宽度
    //innerHeight() 
    	内容content高度 + 两个padding的高度
    //innerWidth()	
    	内容content高度 + 两个padding的宽度
    //outerHeight() 
    	内容高度 + 两个padding的高度 + 两个border的高度,不包括margin的高度
    //outerWidth()	
    	内容高度 + 两个padding的宽度 + 两个border的宽度
    

    文本操作

    //html() 
    	取得第一个匹配元素的html内容,包含标签内容
    //html(val)
        设置所有匹配元素的html内容,识别标签,能够表现出标签的效果
    //text()
    	取得所有匹配元素的内容,只有文本内容,没有标签
    //text(val)
        设置所有匹配元素的内容,不识别标签,将标签作为文本插入进去
    

    值操作

    //文本输入框获取值的方式
    	$('input[type="text"]').val()
    //input单选框取值方式
    	$('[type="radio"]:checked').val();
    当没有设置value属性的值的时候,获取单选框的值返回的就是一个on,表示没有设置value值
    //input多选框取值方式
    	多选框可能有多个值的情况,通过val()方法无法直接获取多个值,只能取一个值,想要取多个值,可以使用循环的方式取值
    	var a=$('[type="checkbox"]:checked');获取多选框中被选中的标签
        for (var i=0;i<a.length;i++){
            console.log(a.eq(i).val())
        }
    //select单选下拉框的取值方式
    	$('#s1').val();
    //select多选下拉框的取值方式
    	$('#s1').val();	和单选框的取值方式一样,多个值返回的是一个数组
    #********************************************
    //文本输入框设置值
    	$('[type="text"]').val('你好');
    //input单选框设置值的方式
    	$(':radio').val(['1']);   一定要加中括号
    	找到所有的radio,然后通过val设置值,达到一个选中的效果.给单选或者多选框设置值的时候,只要val方法中的值和标签的value属性对应的值相同时,那么这个标签就会被选中.
        如果不加中括号,这样设置值,,意思是将所有的input,type=radio的标签的value属性的值设置为1.
    //input多选框设置值的方式
        $(':checkbox').val(['1','2'])
    //select单选下拉框设置值
    	$('#c1').val('1')或者$('#c1').val(['1'])
    //select多选下拉框设置值
    	$('#c1').val(['1','2']);
    

    属性操作

    //attr(attrName)
    	返回第一个匹配元素的属性值   
        $('#d1').attr('age');
    
    //attr(attrName, attrValue)
        为所有匹配元素设置一个属性值
        $('#d1').attr('age','18');
    
    //attr({k1: v1, k2:v2})
        为所有匹配元素设置多个属性值
        $('#d1').attr({'age':'18','age1':'18'});
    
    //removeAttr()
    	从每一个匹配的元素中删除一个属性
        $('#d1').removeAttr('age');
    
    #****************************************************
    //prop查看属性值
    	$('#d1').prop('checked');返回的是布尔值,选中就返回true,没有选中就返回false
    //prop设置值
    
    	$('#d1').prop('checked':true);默认选中所有
    	$('#d2').prop('checked':false);默认取消全选
    #****************************************************
    //prop和attr的区别
    	1:对于标签上有的能看到的属性和自定义属性都用attr
    	2:对于返回布尔值的比如checkbox、radio和option的是否被选中或者设置其被选中与取消选中都用prop。
    	//具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
    //checked示例:
    		//attr():
                查看值,checked 选中--'checked'  没选中--undefined
                    $('#nv').attr({'checked':'checked'}); 
                设置值,attr无法完成取消选中
                    $('#nv').attr({'checked':undefined});            
             //prop():
             	查看值,checked 选中--true  没选中--false
             		$(':checkbox').prop('checked');
             	设置值:
             		$(':checkbox').prop('checked',true);
             		$(':checkbox').prop('checked',false);
    

    文档处理

    //添加到指定元素内部的后面
    	$(A).append(B)  //把B元素添加到A元素内部的最后
    	$(A).appendTo(B)// 把A元素添加到B元素内部的最后
    	//append添加示例:
    	方式一:
    		var a=document.createElement('a');	创建标签
    		$('a').text('百度');		添加文本
    		$('a').href('www.baidu.com');	添加href属性
    		$('#d1').append(a); 	把a标签添加到id为d1的标签的内部的最后
    	方式二:
    		$('#d1').append('<a href="www.baidu.com">百度</a>')可以直接添加标签字符串形式,append能都识别标签
    	//appendTo添加示例:
    		var a=document.createElement('a');	创建标签
    		$('a').appendTo('#c1');在前面的括号里只能是对象所以用第一种方式
    
    #***********************************************************
    //添加到指定元素内部的前面(和上面的使用方式一样)
    	$(A).prepend(B)// 把B元素添加到A元素内部的前面
    	$(A).prependTo(B)// 把A元素添加到B元素内部的前面
    
    //添加到指定元素外部的后面(就是在下面添加一个兄弟标签)(使用方式同上)
    	$(A).after(B)// 把B元素添加到A元素的后面
    	$(A).insertAfter(B)// 把A元添加到B元素后面
    
    //添加到指定元素外部的前面(就是在上面一个兄弟标签)(使用方式同上)
    	$(A).before(B)// 把B元素添加到A元素的前面
    	$(A).insertBefore(B)// 把A素添加到B素的前面
    
    //移除和清空元素
    	remove()// 从DOM中删除所有匹配的元素。
    		$('#c1').remove();  删除整个标签
    	empty()// 删除匹配的元素集合中所有的子节点,包括文本被全部删除,但是匹配的元素还在
    		$('#c1').empty(); 删除标签的所有子标签和所有的文本内容,但是会保留标签本身
    
    //替换标签
    	replaceWith()
    	示例:
    		$('#d1').replaceWith(a);//用a标签替换前面的标签
    	replaceAll()
    		$(a).replaceAll('#d1');//用a标签替换后面的标签
    

    克隆

    //clone()// 参数,看下面的示例
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    	<button class="btn">屠龙宝刀,点击就送!</button>
    </body>
    <script src="jquery.js"></script>
    <script>
        $('.btn').click(function () {
            // var btnEle = $(this).clone(); // 不带参数的克隆不能克隆绑定的事件
            var btnEle = $(this).clone(true); // 参数写个true,就能复制事件
            $(this).after(btnEle);
        })
    </script>
    </html>
    

    事件

    绑定事件的两种方式

    //方式一:
        $("#d1").click(function () {
            $(this).css('background-color','green');
        })
    //方式二:
    	通过on的方式来绑定事件,第一个参数放事件名称字符串,第二个参数是函数,就是事件执行的内容
    	$('#d1').on('click',function () {
            $(this).css('background-color','green');
        })
    

    常用的事件

    click(function(){...})  //鼠标点击触发的事件
    hover(function(){...})	//hover事件 鼠标进进出出的事件
    blur(function(){...})	// 失去光标触发的事件
    focus(function(){...})  // 获取光标触发的事件
    change(function(){...}) // 域内容发生变化触发的事件,一般用于select标签
    keyup(function(){...}) 	//键盘抬起时,获取按键的事件
    keydown(function(){...})// 键盘按下时,获取按键的事件
    on('input',function(){...})//输入内容实时触发的事件,input事件只能on绑定
    mouseenter(function() {...})// 鼠标进入触发的事件
    mouseout(function() {...})// 鼠标离开触发的事件
    mouseover(function (){...})//鼠标悬浮时触发的事件
    mouseover 和 mouseenter的区别是:mouseover事件是如果该标签有子标签,那么移动到该标签或者移动到子标签时会连续触发,mouseenter事件不管有没有子标签都只触发一次,表示鼠标进入这个对象
    
    //示例:
    // 获取光标触发的事件
            $('#username').focus(function () {
                $(this).css('background-color','green');
            });
                         
    // 失去光标触发的事件
            $('#username').blur(function () {
                $(this).css('background-color','white');
            });
                         
    // 域内容发生变化触发的事件,一般用于select标签
            $('#s1').change(function () {
                 // $('#d1').css('background-color','black');
                console.log('xxxxx')
            });
    
            $('#xxx').change(function () {
                console.log($(this).val());
            })
    
    //输入内容实时触发的事件,input事件只能on绑定
            $('#xxx').on('input',function () {
                console.log($(this).val());
            });
    
    //绑定多个事件 事件名称空格间隔
            $('#xxx').on('input blur',function () {
                console.log($(this).val());
            })
    
    //鼠标进入触发的事件
            $('#d1').mouseenter(function () {
                $(this).css('background-color','green');
            });
                         
    // 鼠标离开触发的事件
            $('#d1').mouseout(function () {
                $(this).css('background-color','red');
            });
    
    //hover事件 鼠标进进出出的事件
            $('#d1').hover(
                // 鼠标进入
                function () {
                    $(this).css('background-color','green');
                },
                // 鼠标离开
                function () {
                    $(this).css('background-color','red');
                }
            );
    
    // 鼠标进入触发的事件
            $('#d1').mouseenter(function () {
                console.log('xxx');
            });
                         
    // 鼠标悬浮时触发的的事件
            $('#d2').mouseover(function () {
                console.log('ooo');
            });
                         
    // 键盘按下
             //e代表的是事件对象
    		$(window).keydown(function (e) {
                //keyCode 时当前按下键盘符的编码
    			console.log(e.keyCode);
    
    		});
    // 键盘抬起
    		$(window).keyup(function (e) {
    			console.log(e.keyCode);
    		});
    

    移除事件(不常用)

    off( events [, selector ][,function(){}])
        off() 方法移除用 .on()绑定的事件处理程序。
          $("li").off("click");就可以了
          1.events: 事件
          2.selector: 选择器(可选的)
          3.function: 事件处理函数
    

    事件冒泡

    // 事件冒泡,子标签和父标签(祖先标签)绑定了相同的事件,比如点击事件,那么当你点击子标签时,会一层一层的往上触发父级或者祖父级等等的事件
    $('.c1').click(function () {
         alert('父级标签!!!');
        });
    
    $('.c2').click(function (e) {
         alert('子标签~~~');
         // 阻止事件冒泡(阻止事件发生)
         return false; 	//方式1
         e.stopPropagation() 	// 方式2
        })
    //冒泡的意思就是因为html可以嵌套,如果你给儿子标签绑定了点事件或者没有绑定点击事件,父级标签绑定了点击事件,那么你一点击子标签,不管子标签有没有绑定事件,都会触发父级标签的点击事件,如果有,会先触发子标签的点击事件,然后触发父级标签的点击事件,不管子标签有没有点击事件,都会一级一级的还往上找点击事件
    

    事件委托

    <div id="d1">
        	<button class="btn">屠龙宝刀,点击就送!</button>.
    </div>
    
    // 事件委托
    	标签属性为.btn的子标签吧点击事件委托给了id为d1的父级(祖父级)标签,
        $('#d1').on('click','.btn',function () {
            // $(this)是你点击的儿子标签
            var a= $(this).clone();
            $('#d1').append(a);
        });
    //事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件,将未来添加进来的某些子标签自动绑定上事件。
    

    页面载入

    //方式一:
    	window.onload:
            原生js的window.onload事件:// onload 等待页面所有内容加载完成之后自动触发的事件
            window.onload = function(){
                    $('.c1').click(function () {
                        $(this).addClass('c2');
                    });
                };
    //方式二:
    	jquery页面载入:简写方式
    	$(function () {
                $('.c1').click(function () {
                    $(this).addClass('c2');
                });
            })
    	非简写方式
    	$(document).ready(function(){
            // 在这里写你的JS代码...
         })
    //jQuuery和window.onload的区别
    	1:window.onload()函数有覆盖现象,必须等待着图片资源加载完成之后才能调用
    	2:jQuery的这个入口函数没有函数覆盖现象,文档加载完成之后就可以调用(建议使用此函数)
    

    jQuery的each

    //循环数组:
    	var a = [11,22,33];
        $.each(a,function(k,v){
           console.log(k,v);
        })
    //循环标签对象
    	$('li').each(function(k,v){
    	console.log(k,$(v).text());
        })
    	//在循环标签对象的时候可以使用return false提前结束each循环,类似于break
    	//在循环过程中直接使用return 不写false,就是跳出本次循环的意思,类似于continue
    

    简单动画效果

    // 基本
    //show([s,[e],[fn]])  $('.c1').show()  
    	show(5000),就是5秒之后显示出来这个标签,并且有一个动画效果
    //hide([s,[e],[fn]])  $('.c1').hide()
    	hide(5000),就是5秒之后隐藏这个标签,并且有一个动画效果,
    //toggle([s],[e],[fn])
    	这几个toggle的意思就是你原来是什么效果,我就反着来
    // 滑动(拉窗帘一样)
    	slideDown([s],[e],[fn])  
    	使用的时候别忘了给标签设置一个高度和宽度,其实就是控制你的标签高度,如果你写				$('#di').slideUp(5000);意思就是5秒内把你的高度变为0
    	//还有如果你直接操作的是img标签和操作img标签的父级标签,两个的效果是不同的
    	slideUp([s,[e],[fn]]) 
    	slideToggle([s],[e],[fn])
    // 淡入淡出(控制透明度)
        fadeIn([s],[e],[fn])
        fadeOut([s],[e],[fn])
        fadeTo([[s],o,[e],[fn]])  o参数是透明度,0-1的区间,意思是淡入或者淡出到多大的透明度
        fadeToggle([s,[e],[fn]])
    // 自定义(了解即可)
    	animate(p,[s],[e],[fn])
    	//点赞加1示例
    	<script>
              $("#d1").on("click", function () {
                var newI = document.createElement("i");
                newI.innerText = "+1";
                $(this).append(newI);
                $(this).children("i").animate({
                  opacity: 0  //1秒之后透明度变为0,注意写法,animate({属性:值},毫秒数) 
                }, 1000)
              })
    	</script>
    

    data方法

    //.data(key, value): 设置值
    	$("div").data("k",100);//给所有div标签都保存一个名为k,值为100
    	//.data(key): 取值,没有的话返回undefined
    //.removeData(key): 删除值
    	描述:移除存放在元素上的数据,不加key参数表示移除所有保存的数据。
        $("div").removeData("k");  //移除元素上存放k对应的数据
    

    扩展插件extend

    //jQuery.extend(object)
    //jQuery的命名空间下添加新的功能。多用于插件开发者向 jQuery 中添加新函数时使用。
    <script>
    jQuery.extend({ 
    	min:function(a, b){return a < b ? a : b;}, //自定义了一个min和max方法,min和max作为键,值是一个function
    	max:function(a, b){return a > b ? a : b;}
    });
    jQuery.min(2,3);// => 2
    jQuery.max(4,5);// => 5
    </script>
    //jQuery.fn.extend(object)
    //一个对象的内容合并到jQuery的原型,以提供新的jQuery实例方法。
    <script>
      jQuery.fn.extend({  //给任意的jQuery标签对象添加一个方法
        check:function(){
          return this.each(function(){this.checked =true;});
        },
        uncheck:function(){
          return this.each(function(){this.checked =false;});
        }
      });
    // jQuery对象可以使用新添加的check()方法了。
    $("input[type='checkbox']").check();
    </script>
    
  • 相关阅读:
    Codeforces 1316B String Modification
    Codeforces 1305C Kuroni and Impossible Calculation
    Codeforces 1305B Kuroni and Simple Strings
    Codeforces 1321D Navigation System
    Codeforces 1321C Remove Adjacent
    Codeforces 1321B Journey Planning
    Operating systems Chapter 6
    Operating systems Chapter 5
    Abandoned country HDU
    Computer HDU
  • 原文地址:https://www.cnblogs.com/luckinlee/p/11622049.html
Copyright © 2011-2022 走看看