jquery 笔记集合1 选择器 CSS样式 函数 事件 节点

来源:互联网 发布:中国医科大学网络教育 编辑:程序博客网 时间:2024/06/04 19:06

window.onload = function(){}

$(function (){}

两者都表示加载完body后再加载

//    1.$(' 标签名 / id属性名/ class属性名 /*')

         $('p').css('color','red');    //单个属性

         $('p').css({ 'color':'red' , 'background':'yellow' });     //多个属性


//    2.属性选择器
         $('[id]').css('color','red');
         $('[id != id1]').css('color','red');
         $('[id ^= i]').css('color','red');

        $('[id $= 2]').css('color','red');

        <p id="id1">么么哒1</p>

        <p id="id2">么么哒2</p>

//    3.$('p')   jQuery对象 去调用DOM属性

         $('p')[0].style.color = 'red';

//    4.dom对象 去调用DOM属性

         var pp = document.getElementById('id1');
        $(pp).css('backgroundColor','yellow');

层次选择器:

   1).$('h1,h2,p')组合选择器
   2).$('div span')后代选择器
   3).$('div>span') 直接后代
   4).$('#one+div')选取id为one的元素的下一个<div>同辈元素    等同于$(#one).next(“div”)

        $('div+span').css('color','blue');
        $('div').next('span').css('color','blue');  

   5).$(“#one~div”) 选取id为one的元素的元素后面的所有<div>同辈元素    等同于$(#one).nextAll("div”)
   6).$(#one).siblings("div") 获取id为one的元素的所有<div>同辈元素(不管前后)
   7).$(#one).prev("div") 获取id为one的元素的前面紧邻的同辈<div>元素

并且(过滤)选择器:

   1.:first  :last     第一个   /    最后一个
             $('li:first').css('color','red');
   2. $('li:eq(1)') 下标索引       默认从零开始
   3. :gt(索引号) 大于某个范围    :lt(索引号) 小于某个范围
   4. :even 索引为偶数的所有元素      :odd 索引为奇数的所有元素
   5. :not 反选li当中除了class为test当中的所有元素

           $('li:not(.text)').css('color','red');

   6. header  匹配所有h1-h6的元素
           $(':header').css('color','blue');

           $('.h:header').css('color','blue');      //class为h中的h1-h6的元素
    多个并且关系的选择器,没有前后顺序,但是要避免歧义

内容过滤选择器:

    1. :contains()   获得节点内部必须包含指定的内容。不考虑层级关系
             $('div:contains(bei)').css('color','red');
    2. 空节点选择器:获得空元素(内部没有任何元素/文本)的节点对象
             $('div:empty').css('background','blue');
    3. has选择器:节点内部必须包含指定的选择器元素
             $('div:has(span)').css('color','red');
    4. parent选择器: 获取作为父节点存在的节点
            $('div:parent').css('color','red');

表单域选中选择器:

    1. :checked 获得被选中的单选框
            //console.log($('radio:checked'));    不可以这样写,错误
            console.log($('.s:checked'));
    2. :checked 获得被选中的复选框
            console.log($('.ch:checked'));
    3. select 获得被选中的下拉列表项目
            console.log($('option:selected'));

内置函数:

    // js
        window.onload = function(){
             alert('111');
        }
   // jquery
       1.ready函数
          $('document').ready(function(){
               alert('111');
          })

       2.  .hide()     隐藏
       3.  .show()   显示

       4. map 函数(遍历数组进行操作,最后返回一个新的数组)
                  arr.map(function(元素,下标){执行操作}

      5. each函数  (只做遍历,不会返回一个新的数组)
         1>.遍历数组   $.each(arr3,function(下标,元素){执行操作})

               var arr4 = $.each(arr3,function(elem,index){
                       if(index == 2){
                               return false;     //停止循环
                       }

               });
         console.log(arr4,arr3);     //arr4,arr3的数组内容是一样的

         2>遍历对象   $.each(cat,function(键,值){执行操作})

             var cat = {
                   name:'kitty',
                   color:'pink',
                   climb:function (){console.log('吃')}
              }
             $.each(cat,function(k,v){
                   console.log(k+"--------------"+v);
             })

CSS样式操作:

            1. 获取  行内 内联  外链的样式
                     console.log($('div').css('width'));
            2. 获取某个元素的多个样式
                    console.log($('div').css(['width','height']))

            3. 修改的都是行内样式
                 $('div').css('width','200px');
                 $('div').css('font-size','30px');
            4. 颜色值返回的是rgb
                 $('div').css('color',function (index,value){
                        console.log(index,value);
                        return  'pink';
                 });

           5. 批量修改样式
                $('div').css({'color':'pink','width':'200px'});

value值操作:

         1. 获取文本框的内容也就是value值
            console.log($('input').val());

         2. 获取单选框的value值
            console.log($('.s:checked').val());

         3. 获取复选框的选中的内容
            console.log($('.box:checked'));     输出的是一个数组
            var check = $('.box:checked');      逐个输出 value值
            for(var i=0;i<check.length;i++){
                // dom  js中的方法获取值   console.log(check[i].value);  
                console.log($(".box:checked:eq("+i+")").val());
            }

        5. 设置文本框的值
            $('.text').val("呵呵");

        6.设置单选框的选中
            $('.s').val(['c']);

        7. 设置复选框的选中
            $('.box').val([1,3]);      //选中value值为 1和3 的选项

        8. 获取下拉列表框的value值
            // 单选
            console.log($('option:selected').val()); 
            // 多选
            console.log($('select').val())   
        9.设置下拉列表框的value值的选中
            $('select').val(['E','A']);

事件的简单操作:
        $(selector).事件类型(处理函数)
        1. mouseover  鼠标经过     mouseout  鼠标离开  mouseenter()进入   mouseleave()离开
            $('div').mouseover(function (){
                // $('strong').html('你们很聪明');      //strong标签调用.html()函数设置内容
                $('strong').html(function (index,value){ 

                    // index 接收选择器的 index 位置
                    // value 接收选择器的当前内容

                    return value + 1;
                });
            });

       2. 给同一个对象添加相同的事件

       3. mouseenter()和mouseleave()在穿过子元素的时候不会触发
          不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。若离开,触发mouseout事件
          只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。若离开.触发mouseleave事件

事件的绑定与取消:

        $('div').bind(事件类型,事件处理函数 匿名 有名)

       1.绑定事件       
            $('div').bind('mouseover',function (){
                $('div').css('background','pink');
            })                    
       2.可以给对象的多个事件绑定同一个处理函数 
            $('div').bind('mouseover mouseout',function(){
                console.log('1234');
            })
       3.通过json对象同时绑定多个不同类型的事件  
            $('div').bind({
                click:function (){console.log('点击');},
                mouseover:function (){console.log('s');},
                mouseout:function (){console.log('b');},
            });

        4.可以绑定同一事件的不同处理函数 
            $('div').bind('click',clickAction);
            $('div').bind('click',clickAction1);

       5.jquery事件的取消
            $('div').unbind();          //取消所有
            $('div').unbind('click');  //取消指定类型的全部事件
            $('div').unbind('click',clickAction); // 取消指定类型的指定事件   此种方式取消事件必须是有名函数

      6.---------阻止浏览默认操作  阻止事件冒泡 
            阻止浏览默认操作
                事件对象.preventDefault ()      主流
                事件对象.returnValue = false  IE
            阻止事件冒泡  (从里到外)
                事件对象.stopPropagation()      主流
                事件对象.cancelBubble = true  IE

        $().bind('click',function (evt){
            evt.preventDefault();      //阻止默认事件
            evt.stopPropagation();   //阻止冒泡
        })

节点操作:

      1>在被选元素的结尾/开头插入节点

              父节点.append(子节点);   //后置添加 在所有子节点后面

                      $('#xi').append('<li>白龙马</li>');

               指定节点.prepend(); //前置添加   在所有子节点前面

              要追加的节点.appendTo(父节点);   在所有子节点后面

      2>在被选元素之后/之前插入节点

              指定节点.after('<li></li>');   后置添加

               指定节点.before('<li></li>');   前置添加

              新添加节点.insertAfter(指定节点);    后置追加

              新添加节点.insertBefore('selector')     前置追加

      3>替换节点

              被替换的节点.replaceWith(将要替换的节点);

              将要替换的对象.replaceAll(被替换掉的对象);

      4>删除节点

              选中节点.empty();      //清空选中节点的所有子节点

              要删除的节点.remove();    //删除掉匹配到的节点

     5>copy节点
              要被复制的节点.clone(true);    //节点以及本身上的事件都被复制
              要被复制的节点.clone(false);   // 只复制节点本身,(包括节点内部信息)

       添加事件

              $('#xi li').mousemove(function(){
                // mousemove 里面会有遍历 
                $(this).css('color','red');
            });

节点包裹:

      1.wrap()     unwrap()  
            1>.html
                $('p').wrap('<div></div>');  //多个p 会进行分别包裹
                $('p').wrap('<div><strong></strong></div>');       
            2>.element
                $('p').wrap(document.createElement('div'));          
            3>.函数
                $('p').wrap(function (index){
                       return "<div><strong>"+index+"</strong></div>";
                 });   
            4>.移除
                $('p').unwrap(); //移除一层指定元素包裹的内容 html
                $('p').unwrap();  //加了多个要一层一层移除

        2.$(selector).wrapAll(html)   用 html 将所有元素包裹到一起
            $('p').wrapAll('<div></div>');  //html
            $('p').wrapAll(document.createElement('div'))
       3.wrapInner  向指定元素的子内容包裹一层html   (向内部添加子节点)
            $('p').wrapInner('<div></div>');
            $('p').wrapInner(document.createElement('div'));

节点的查找:

      1.查找子节点   find()  children()

               $('div').find('span').css('color','pink');     //查找div内部的所有子节点span

               $('div').children('span').css('color','pink');   //只查找div内部的直接子节点span

      2.查找父节点  parentparent()   parents()   parentsUntil()parentparentparent
              $('h3').parent('div').css('color','red');     //直接父节点
              $('h3').parents('div').css('color','red');   //该方法返回被选元素的所有祖先元素
              $('h3').parentsUntil('strong').css('color','red');  //该方法返回介于两个给定元素之间的所有祖先元素该方法返回介于两个给定元素之间的所有祖先元素该方法返回介于两个给定元素之间的所有祖先元素该方法返回介于两个给定元素之间的所有祖先元素
      3.同胞节点   .next()
            $('span').next().css('color','pink');



     

0 0
原创粉丝点击