Write less ,do more ——JQuery快速入门

                                                                                                                        ——学习过html,css,js再来阅读此篇文章更好

一.基本选择器
1.根据标签名选择
    $('input').css('color','red');
    找到标签名为input的输入框,并且把里面value的字体颜色设置为红色

2.    $('.div1').css('color','red');
    找到class属性为div1的并且把里面字体设置为红色

3.    $('#div11').css('color','red');
    找到id为div1的并且。。

4.    $('*').css('background-color,pink');
    将所有标签的背景颜色设置为粉色

5.    $('input,#div11,.div1').css('color','red')
    将符合以上三种样式其中一种的标签的value的颜色设置为红色

二.层次选择器
    1.$(s1 s2);//表示s1下的所有s2子类,不只是直接子类
    父子选择器,找出s1标签下的s2标签
    
    2.$(s1 > s2);//表示s1下的直接s2子类
    也是父子选择器,跟上面的是一个效果

    3.$(s1 + s2);
    兄弟选择器,获得紧跟s1后面的第一个s2选择器

    4.$(s1~s2);获取s1后面的所有的同辈元素

三.并且选择器(用冒号连接)
    1.first第一个 last最后一个 没有啥second之类的,要选第二个看下面
    $('li:first').css('color','red')
    
    2.eq(下标)小标为多少的//从0开始
    $('li:eq(2)')    
    //要获得下标为2 3 4的三个元素
    //:gt(1):lt(3)  //这种格式是大于的后面连续三个
    3.gt(下标) lt(下标)
    $('li:gt(3)')下标大于3的li标签
    $('li:lt(5):gt(2)')下标小于5大于2的也就是三四//小于在前面这种格式是正常的思路,小于5大于2也就是3,4
    $('li:lt(5):gt(2)')与$('li:gt(2):lt(2)')得到的相等,注:前面写lt后面写gt就是正常的,前面写gt后面写lt就是gt后面的下标记为0重新开始
    4.even()偶数下标的 odd()奇数下标的
    $('li:odd')下标为奇数的li标签
    
    5.not(选择器)
    $('li:not(#s)')id不等于s的li标签
    
    6.header(:前面可以没有东西)
    $(':header')表示从h1 到 h6的六个标题标签

    7.找出标签为header并且class属性为ii的标签
    $(':header.ii')

    注:1.关系的多个选择器,前后顺序是没有要求的,但是要避免产生歧义
    比如.pearli会产生歧义而li.pear不会
       2.并且选择器可以单独使用

四.内容过滤选择器
    1.contains
    $(div:contains(beijing));
    意思是必须是div标签并且里面内容包含beijing,beijing套在标签里也    可以
    如
    <div><span>I love beijing</span></div>就符合要求

    2.has
    $(div:has(.cc));//这个我测试没有成功不知道为什么,可以用后面的[class=]代替    意思就是必须是div标签并且里面包含有属性值为cc的class属性
    如
    <div class = "cc">heihei</div>就满足要求

    3.empty
    $(div:empty);
    意思是div标签里面必须什么都没有,空白的文本标签也不行
    <div> </div>不满足要求
    <div></div>满足;要求    

    4.parent
    $(div:parent);
    意思是div必须是父标签,子标签是空白文本标签也行
    <div> <div>满足要求
    <div><img/></div>满足要求
    <div></div>不满足要求

五.表单域选中选择器
    $(.s:checked);就可以得到以下被选中的多选框        
    对于多选框选中案例//暂时测试不成功
        <input type = "checkbox" name = "hobby" class = "s" value = "bas">篮球</input>
        <input type = "checkbox" name = "hobby" class = "s" value = "foot">足球</input>
        <input type = "checkbox" name = "hobby" class = "s" value = "pingpang">乒乓球</input>
        <input type = "button" onclick = "he()"></input>

    对于单选框与下拉框也是同理
    
六.针对属性操作
    1.得到属性
    $('.s:first').attr('name');得到第一个input标签的name属性
    2.修改属性值    
    $('.s:first').attr('name','bb');将第一个input标签的name属性的    值设置为bb
    3.删除属性    
    $('.s:first').removeAttr('name');删除name属性
    4.因为如果要一次修改多个属性,则造成代码重复,可以使用json对象形        式来修改属性,注意:jQuery中不能修改type属性但是js中能    
    var ob = {name:'aaa',class:'bbb',value:'ccc'}
    $('.s:first').attr(ob);根据json对象中的键值对一次修改多个属性
    5.根据函数返回值来修改属性
    $('.s:first').attr('name',function(){
        ...
        return cc;
    });就实现了把name属性的值修改为cc的值

七.针对属性的快捷操作
     1.针对class属性的快捷操作
    具体操作方法如下
    $('.s:first').addClass('s1');
    $('.s:first').addClass('s2');
    $('.s:first').addClass('s3');
    追加class属性值    得到的class属性值就变成's1 s2 s3'
    $('.s:first').removeClass('s2')
    删除class属性中的值,得到的class属性值就变成's1 s3'
    全删掉的话class的值会被删除,属性还在。
    $('.s:first').toggleClass('ss');有这个值就删除,没有就添加
    这样就实现了网页上的一些开关效果

八.获取标签内内容与获取标签内内容
    <a href = "#">超链接</a>
    1.标签.html();    获取标签内html内容,
    如:$(a).html();就是获取a标签内html内容
    2.标签.html("内容");设置标签内html内容
    如: $(a).html('<span>哈哈哈</span>');将a标签内的html内容修改为<span>哈哈哈</span>
    3.标签.text();获取标签内文本内容
    如:$(a).text();就是获取a标签内文本内容
    4.标签.text("内容");设置标签内文本内容
    标签.text("&nbsp;嘿嘿");就是将标签的文本内容设置为&nbsp;嘿嘿嘿

    两者区别:前者既可以设置文本内容又可以设置html标签与内容,但是后    者只能设置文本内容

九.js只能获取行内样式,也就是style后面的,但是jquery既可以获取行内样式还可以获取内部样式与外部样式
    dom设置的样式都会被设置为行内样式
    
    $().css('属性名');获取属性
    $().css('属性名','属性值');设置属性值,是设置在行内样式中
    $().css('json格式');通过json格式设置多个css属性
    注:复合样式可以直接设置,但是获取必须要拆分为单一样式才能获取
    比如 border: 1px solid red;
    获取的话 分为 border-width,border-style,border-color来获取
    
十.value属性值快捷操作
    <input type = "checkbox" name = "h" value = "bas" class  ="h">打篮球</input>
        <input type = "checkbox" name = "h" value = "foo" class  ="h">踢足球</input>
        <input type = "checkbox" name = "h" value = "pp" class  ="h">打乒乓球</input>
    
    9.1前面学的对value属性的操作如下 
    $().attr('value');
    $().attr('value','属性值');        
    
    现在对value属性的快捷操作如下
    $().val();获取value的值
    $().val('值');设置value的值
    以上操作在复选框,单选框,下拉列表中有突出表现
    
      9.1复选框默认情况下的选中
    刚才还没体现val()方法的强大之处,与传统dom代码还简单不到哪里去
    下面就让你见识下了:
    比如我要实现将value等于foo与pp的复选框设置为默认选中,那么如果    用js的话还要先依次判断value值然后再设置
    这里用jquery的话一句话就解决,如下:
    $('.h').val(['foo','pp']);就实现将这两个默认选中了
    注:若value值为整数则不需要加'引号,是字符串的话就要加
    
      9.2下拉列表默认情况下的选中
    获取单个被选中的
    $('option:selected').val();
    
    获取多个被选中的
    在select标签里面如果在select标签里面设置multip = "multiple"
    $('select').val();就可以实现获取选中的值

十一.
    jquery的简单的事件操作 mouseover跟mouseout:
    $('div').mouseover(function(){
                this.style.color = 'yellow'; 
            });
            $('div').mouseout(function(){
                this.style.color = ''; 
            });
    
十二.节点的追加
    父子节点追加:
    标签.append(content):将content添加到标签尾部
    标签.prepend(content):将content添加到标签最前面
    标签.appendTo(content):将标签添加到content尾部
    标签.prependTo(content):将标签添加到content最前面
    
    兄弟节点追加:
    标签.before(content):将content添加到标签前面
    标签.after(content):将content添加到标签后面
    标签.insertBefore(content):将标签添加到content前面
    标签.insertAfter(content):将标签添加到content后面

十三.节点的替换与删除    
    节点的替换
    标签.replaceWith(content)
    标签被content替换
    标签.replaceAll(content)
    标签替换content

    删除节点
    $(父节点).empty();父节点清空子节点
    $(匹配节点).remove();删除指定的节点
    
十四.复制节点
    1.只复制节点(包括其内部信息)
    $().clone(false);
    2.复制节点及它上面的事件    
    $().clone(true);

十五.属性选择器(1,2最常用)
    1.[attributeu]匹配包含指定属性的元素
    如$("[attribute]");
    2.[attributeu=value]匹配给定的属性是某个特定值的元素
    如$(input[value='hehe']')
    
    $('[class][class!=ss]')这表示存在class属性并且其值不等于ss的    元素

    还有一些选择器见图片 属性选择器

十六.jQuery中事件绑定的四种形式
    //第一种,简单的一个元素的一个事件绑定一个方法
    $('div').bind('mouseover',function(){
    //这里的this代表一个dom对象,所以可以用$(dom对象)转换为jquery对象
    $(this).css('background-color','yellow');
            });
    //第二种,一个元素的多个事件绑定一个方法,事件名必须以一个空格隔开否则后面的事件无效
    $('div').bind('mouseover click mouseout',function(){
    console.log("hehehe");
            });
    //第三种,使用json对象像前面一次设置多个属性的值样绑定多个事件
            $('div').bind({
                mouseover:function(){
                console.log("mouseover");
                },
                mouseout:function(){
                console.log("mouseout");
                },
                click:function(){
                console.log("click");
                }
            });

    //第四种,通过有名函数进行事件绑定,fun1是定义好的一个函数
    $('div').bind('mouseover',func1);

十七.取消事件绑定的三种形式
    1.$().unbind();  //取消全部事件绑定
    2.$().unbind(事件类型);//取消指定类型的全部事件
    3.$().unbind(事件类型,有名函数);//取消指定类型事件的指定处理函    数
    注意:第三种取消事件绑定,只能是有名函数


十八.基本动画与垂直动画效果
    1.基本动画效果 
        有show(),hide(),toggle()三个方法
                function show1(){
                    $('div').show(2000);
                }
                function hide1(){
                    $('div').hide(2000);
                }
                function toggle1(){
                    $('div').toggle(2000);
                }
    2.垂直动画效果
        隐藏:slideUp()    垂直隐藏 只改变高度
        显示:slideDown 垂直显示 只改变高度
        开关:slideToggle() 若是显示则隐藏,隐藏则显示
            function show1(){
                    $('div').slideDown(2000);
                }
                function hide1(){
                    $('div').slideUp(2000);
                }
                function toggle1(){
                    $('div').slideToggle                    (500,toggle1);

十九.颜色渐变效果
        fadeIn(time,func) 颜色变暗至消失(display变成none)
        fadeOut(time)颜色变深直至完全显示(display变成block)
        fadeToggle(time)以上两种现象的翻转
        time表示达到最终效果所用的时间,func表示效果显示完成后
        要执行的方法。
        function show1(){
                    $('div').fadeIn(2000,f4);
                }
                function hide1(){
                    $('div').fadeOut(2000);
                }
                function toggle1(){
                    $('div').fadeToggle(500);
                }
                function f4(){
                    $('div').css('background-                color','yellow');
                    $('div').slideUp(2000,f5);
                }
                function f5(){
                    $('div').css('background-                color','red');
                    $('div').show(2000,toggle1);
                }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我才是真的封不觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值