`
2277259257
  • 浏览: 515324 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jQuery操作----总结

 
阅读更多

jQuery 设计思想是将原始的 dom 对象封装成一个 jQuery 对象,通过调用 jQuery 对象的方
法来实现对原始的 dom 对象的操作。这样设计的目的是:是为了更好地兼容不同的浏览器,
简化代码

jQuery编程步骤:

1、<script type="text/javascript" src="js/jquery-1.4.3.js">

2、使用jQuery提供的选择器找到节点,一般情况下, jQuery会将找到的节点封装成jQuery对象

3、调用 jQuery 对象提供的方法

 

jQuery 对象与 dom 对象之间的转换
a.  dom 对象转换成 jQuery 对象:使用 var $obj = $(dom 对象);
b.  jQuery 对象转换成 dom 对象:使用 var obj = $obj.get(0)或者 var obj = $obj.get()[0]

 

jQuery 选择器
jQuery 选择器模仿 css 选择器的语法,其作用是,查找符合选择器要求的节点。
a.  基本选择器
  #id
  .class
  element
  selector1,select2..selectn
  *
b.  层次选择器
  select1 select2
  select1>select2
  select1+select2
  select1~select2
c.  过滤选择器
1)  基本过滤选择器
  :first

  :last
  :not(selector)
  :even
  :odd
  :eq(index)
  :gt(index)
  :lt(index)
2)  内容过滤选择器
  :contains(text)
  :empty
  :has(selector)
  :parent
3)  可见性过滤选择器
  :hidden
  :visible
4)  属性过滤选择器
  [attribute]
  [attribute=value]
  [attribute!=value]
5)  子元素过滤选择器
  :nth-child(index/even/odd)
6)  表单对象属性过滤选择器
  :enabled
  :disabled
  :checked
  :selected
d.  表单选择器
  :input
  :text
  :pasword
  :radio
  :checkbox
  :submit
  :image
  :reset
  :button
  :file
  :hidden

e. select 选择器

 

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="js/jquery-1.4.3.js"></script>
    <script>
      function f2(){
        //将原始的dom对象封装成一个jQuery对象
       var obj = $('#a1');
       //因为不再是原始的dom对象,所以不能使用dom对象提供的属性或方法了。
           要使用jQuery对象提供的方法戒者属性。
       alert(obj.html());
      }

 

     //演示:利用jQuery改变样式
     function f4(){
        $('#d1').css('font-size','60px').css('font-style','italic');
     }

 

     //演示:dom 对象和 JQuery 对象的相互转换

       //dom对象转换成jQuery对象
       function f1(){
          var obj = document.getElementById('a1');
          var $obj = $(obj);
          alert($obj.html());
       }
       //jQuery对象转换成dom对象
       function f2(){
          var $obj = $('#a1');
          var obj = $obj.get(0);或var obj = $obj.get()[0];
          alert(obj.innerHTML);
       }

 

      //演示:select 选择器

      //将找到节点的字体变大
      function f1(){
          $('.s1').css('font-size','40px');--- .class选择器s1对象

          $('p.s1').css('font-size','40px');---元素选择器p+ .class选择器s1对象
          $('div').css('font-size','40px');--- 元素选择器div对象
          $('#d1,p.s1').css('font-size','40px');---id选择器d1对象和元素选择器p+ .class选择器s1对象

          $(' * ').css('font-size','40px');---所有
      }

      
    </script>
  </head>
  <body style="font-size:30px;">
    <a id="a1" href="javascript:;"  onclick="f2();">hello jquery</a>

    <div id="d1">jquery 是什么?</div>

 

    <div id="d1">hello1</div>

    <div class="s1">hello2</div>
    <div class="s1">hello3</div>
    <p class="s1">hello4</p>

    <input type="button" value="基本选择器的使用" onclick="f1();"/>
  </body>
</html>

 jQuery dom 操作

1)  查询
利用选择器查找到节点:
  text() 输出或设置节点之间的文本,text 方法相当于 dom 节点的 innerText 属性
  html()输出或设置节点之间的 html 内容,html 方法相当于 dom 节点的 innerHTML 属性。
  attr()输出或设置节点的属性值。
  val()下拉列表,可以使用 val()获得值
2)  创建
  $(html);
3)  插入节点
  append()向每个匹配的元素内部追加内容
  prepend() 向每个匹配的元素内部前置内容
  after() 在每个匹配的元素之后插入内容
  before()在每个匹配的元素之前插入内容
4)  删除节点
  remove()
  remove(selector)
  empty() 清空节点

5)  复制节点
  clone()  复制(不复制行为)
  clone(true):  使复制的节点也具有行为
6)  属性操作
  attr('');  读取属性
  设置:attr('','')
  戒者一次设置多个 attr({"":"","":""});
  删除:removeAttr('')
7)  样式操作
  attr("class","") 获取和设置
  addClass('')  追加
  removeClass('')  移除 或 removeClass('s1 s2') 或 removeClass() 会删除所有样式
  toggleClass() 切换样式:
  hasClass('')  是否有某个样式
  css('')  读取设置 css('','')戒者 css({'':'','':''})//设置多个样式
8)  遍历节点
  children() 只考虑子元素,丌考虑其它后代元素。
  next()
  prev()
  siblings(): 兄弟节点
  find(selector)

 

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="js/jquery-1.4.3.js"></script>

    <style>

           .s1{
                 color:red;
            }
            .s2{
                 font-style:italic;
            }
</style>
    <script>

          演示:打印,设置属性/属性值
          function f2(){

              alert($('#d1').html());---html()输出标记中所有内容

              alert($('#d1').text());---text()输出标记中的文本内容

              alert($('#d1').html('hello,tom'));---用 html()改变页面内容
              alert($('#d1').attr('id'));---attr()输出节点的属性值,本例值为d1

              $('#d1').attr('style' , 'font-size:40px;color:red;'); ---attr()设置节点的属性值

              $('#d1').attr({'style':'font-size:60px;','class':'s1'}); ---attr()设置节点的属性值

              alert($(':text').val());---使用 val()获得表单文本框的值

              $(':text').val('马云');---val()设置值

              alert($('#s1').val());---使用 val()获得下拉列表被选项的值
          }

 

          演示:增加节点

          function f2(){

              var $obj = $('<li>item4</li>');
              $('#u1').append($obj);---标准形式

 

              简化形式:

              $('#u1').append('<li>item4</li>');---向元素u1内部追加元素

              $('#u1').prepend('<li>item4</li>');---向元素u1内部前置元素
              $('#u1').after('<div>hello jquery</div>');---向元素u1外部追加元素
              $('#u1').before('<div>hello jquery</div>');---向元素u1外部前置元素

              $('#u1 li').remove('#i2');---删除节点

              $('#u1 li :eq(1)').remove();---删除节点(#u1 li:层次选择器,:eq(1):过滤选择器)

              $('#u1 li :eq(1)').empty();---empty()清空节点中的内容

 

          演示:初始化自动加载函数:当整个html文件解析完毕生成dom树之后执行内部的代码

          $(function(){

                $('#u1 li:eq(2)').click(function(){  alert('doaction...'); }); ---绑定click事件
                $('#b1').click(function(){ 

                       var $obj = $('#u1 li:eq(2)').clone(true);---clone()复制节点不复制行为;clone(true):复制节点和行为
                       $('#u1').append($obj);
                 });
          });

 

           演示:样式操作

          $(function(){
                $('#b1').click(function(){
                      $('#d1').attr('class','s1');---添加样式
                      $('#d1').addClass('s2');---添加样式
                      $('#d1').removeClass('s1');---删除样式
                      $('#d1').toggleClass('s1');
                      alert($('#d1').hasClass('s1'));---判断是否有指定样式

                     $('#d1').css({'font-style':'italic','font-size':'60px'});---设置样式
                });
            });

 

          演示:遍历节点

           $(function(){
                $('#b1').click(function(){
                    $('#d1').children().css('color','red');---所有子节点

                    $('#d1').next().css('color','red');---下一个节点

                    $('#d1').siblings().css('color','red');---下一个节点

                });

           }

        }
    </script>
  </head>
  <body style="font-size:30px;">
    <a id="a1" href="javascript:;"  onclick="f2();">hello jquery</a>

    <div id="d1">jquery 是什么?</div>

    <input type="text" name="username"  onclick="f1();"/>
    <select  id="s1">

         <option  value="bj">北京</option>

         <option  value="sh">上海</option>

     </select>

     <ul id="u1">

         <li>item1</li>
         <li  id='i2'>item2</li>
         <li>item3</li>
      </ul>

      <input id="b1" type="button" value="Click"/>

      </body>
</html>

 

 事件处理

 1)  事件绑订

      bind(type,fn)
2)  绑订方式的简写形式
      click(function(){
      });
3)  合成事件
  hover(enter,leave) : 模拟光标悬停事件
  toggle(fn1,fn2...):模拟鼠标连续单击事件
4)  事件冒泡
  获得事件对象
          //e 不再是原始的事件对象,而是 jQuery封装之后的事件对象。
          click(function(e){
          });
  停止冒泡
          event.stopPropagation()
  停止默认行为
          event.preventDefault()
5)  事件对象的属性
  event.type:获得事件类型
  event.target:获得事件源,返回的是原始的 dom 节点

 

<style>
    ul{   list-style-type:none;}
    ul li{
           float:left;
           width:150px;
           height:40px;
           background-color:#ff88ee;
           margin-left:10px;
           border:1px solid black;
           text-align:center;
    }

    .selected{  background-color:yellow; }
</style>

 <script type="text/javascript">
     演示:事件绑订 

     $(function(){
          正式写法
          $('#b1').bind('click',function(){
                $('#d1').css('font-size','60px');
          });

         简化为
         $('#b1').click(function(){
                $('#d1').css('font-size','60px');
         });
     });

 

        演示:合成事件

       $(function(){
            $('#d1').hover(---hover(enter,leave) : 模拟光标悬停事件

                              //当光标进入时执行 this代表当前绑订事件的那个dom节点

                              function(){ $(this).css('background-color','#ff88ee'); },

                              //当光标移出时执行

                              function(){ $(this).css('background-color','#fff8dc');}

            );
           $('#a1').toggle(---toggle(fn1,fn2...):模拟鼠标连续单击事件

                             function(){

                                  $(this).after("<div id='tips'></div>");

                                  $('#tips').html('无它,唯勤奋尔');
                             },

                            function(){ $('#tips').remove();}

           );
     });

 

     演示:事件冒泡

     $(function(){
          $('#a1').click(function(e){
                 alert('你点击了一个链接');
                 e.stopPropagation();--- e.stopPropagation()方法阻止事件冒泡
          });
         $('#d1').click(function(e){
                alert('你点击了一个div');
         });
         $('a.s1').click(function(e){
               var obj = e.target;---e.target 是事件对象属性,可以获得事件源
               alert(obj.innerHTML);
        });
      });

 

     演示:鼠标事件

    $(function(){
         $('ul li').mouseover(function(){---当鼠标移动到元素上时样式发生改变,鼠标移出后样式还原
               $(this).addClass('selected').siblings().removeClass('selected');
         });
    });


</script>

 <body style="font-size:30px;">
       <div id="d1">hello jquery</div>
       <input id="b1" type="button" value="Click" onclick="f1();"/>

 

       <div id="d1">   <a href="javascript:;" id="a1">Click</a>  </div>
       <a href="javascript:;" class="s1">Click2</a><br/>
       <a href="javascript:;" class="s1">Click3</a>

 

       <ul>
          <li>选项一</li>
          <li>选项二</li>
          <li>选项三</li>
      </ul>
</body>

 

 动画

 1)  show():  显示
       hide():  隐藏
       show("slow"/"normal"/"fast"/100) 可以带参数
       hide("slow"/"normal"/"fast"/100) 可以带参数
2)  fadeIn()
     fadeOut():  改变不透明度
3)  slideUp():
     slideDown(): 改变元素的高度
4)  以上凼数可以在执行完动画之后,再执行一个回调凼数
     show('slow',function(){
          //写上劢画执行之后要执行的操作。
     })
5)  自定义动画
animate(params,speed,[callback])

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
   #d1{
       width:250px;
       height:80px;
       background-color:#fff8dc;
       display:none;
   }
   #d2{
      width:100px;
      height:100px;
      background-color:red;
   }
   #d3{
      width:100px;
      height:100px;
      background-color:blue;
      opacity:0.2;
      display:none;
   }
</style>
<script type="text/javascript" src="../js/jquery-1.4.3.js"></script>
<script type="text/javascript">

     演示:动画显示/隐藏、边框改变、透明度改变
    $(function(){
           $('#a1').toggle(

                 function(){
                      $('#d1').show('slow');---快速显示(不加参数的方法 show()和 hide()表示正常显示和隐藏)
                      $('#d1').slideDown('slow');---慢速减小元素的高度
                 },

                 function(){
                     $('#d1').hide('slow');---慢速消失

                     $('#d1').slideUp('slow');---慢速增大元素的高度
                 }

           );
          $('#d2').toggle(

               fadeIn()&&fadeOut()改变不透明度

               function(){
                    $('#d3').fadeIn('slow');

               },

               function(){
                    $('#d3').fadeIn('slow',function(){ alert('我出来了');});---带回调函数
               },

              function(){ $('#d3').fadeOut();}

         );
   });

 

    演示:自定义动画

   $(function(){
          $('#b1').click(function(){
               $('#d1').animate({'left':'300px','top':'100px'},3000);
               $('#d1').animate({'top':'400'},2000).h ide('slow');
    });
</script>
</head>
<body style="font-size:30px;">
<a href="javascript:;" id="a1">如何才能学好java</a><br/>
<div id="d1">首先要好好培养兴趣</div>
<div id="d2"></div>
<div id="d3"></div>

<input type="button" value="点我,上面的div就会走" id="b1"/>
</body>
</html>

 

jquery 操作类数组

$(选择器)操作返回的如果是一个数组,可以使用如下方法来操作:
1)  each(fn(i))  循环遍历每一个元素,this 代表被迭代的 dom 对象,$(this)代表被迭代
的 jQuery 对象。
2)  eq(index) 返回 index+1 位置处的 jquery 对象
3)  index(obj)  返回下标,其中 obj 可以是 dom 对象戒者 jQuery 对象。
4)  length 属性  个数
5)  get() 返回 dom 对象组成的数组

6)  get(index)  返回 index+1 处的 dom 对象

 

<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <script type="text/javascript" src="../js/jquery-1.4.3.js"></script>
  <script type="text/javascript">

     演示:数组操作
    $(function(){
        $('#b1').click(function(){
            var $obj = $('#u1 li');
            alert($obj.length);---打印出类数组 ul(类似数组)的长度

            $obj.each(function(index){---遍历数组元素,为它们加上不同的样式
               if(index == 0){
                  $(this).css('color','red');
               }else{
                 $(this).css('color','yellow');
               }
           });

          $obj.eq(1).css('color','red');---指定元素的样式改变
          var $o1 = $obj.eq(1);
          var index = $obj.index($o1);---输出元素的下标
          alert(index);
          var obj = $obj.get(0);---get() 返回 dom 对象组成的数组
          alert(obj.innerHTML);
       });
    });
  </script>
  </head>
  <body style="font-size:30px;">
      <ul id="u1">

        <li>item1</li>
        <li>item2</li>
        <li>item3</li>
      </ul>
      <input type="button" value="Click" id="b1"/>
  </body>
</html>

 

分享到:
评论

相关推荐

    JQuery MX-9

    ### 总结 jQuery MX-9 是Dreamweaver开发环境中的一款强大工具,它将jQuery的强大功能与Dreamweaver的便捷性相结合,提高了前端开发的效率和质量。无论你是初级开发者还是经验丰富的专业人士,都可以通过这款插件...

    jquery-X-Menu

    总结来说,jQuery X-Menu 是一个功能强大且易于定制的菜单解决方案,利用 jQuery 的强大功能为网页提供美观、响应式的导航菜单。通过理解其核心概念、HTML 结构、CSS 样式和 JavaScript 交互,开发者可以轻松地将它...

    最新版JQuery-jquery-3.2.1.min.js

    总结,jQuery 3.2.1版是一个更加精炼和现代的版本,尽管移除了`jQuery.holdReady()`和`jQuery.isArray()`,但其核心功能依然强大且全面。开发者应利用jQuery提供的API,结合最新的JavaScript特性,构建高性能、易...

    jquery-ui-1.8.6 js库

    总结,jQuery UI 1.8.6 是一款强大的前端开发工具,它以其丰富的组件、优雅的样式和良好的可定制性,极大地提高了开发效率和用户体验。无论是新手还是经验丰富的开发者,都能从中受益,轻松实现网页的互动效果。

    jquery-migrate-1.2.1.min.js

    在Web开发领域,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和Ajax交互等任务。然而,随着JavaScript语言和浏览器标准的不断发展,某些旧版jQuery代码可能不再兼容新的JavaScript特性或API。...

    jquery-ui-1.10.3.custom.rar jquery 日期插件 带时间选择

    总结起来,jQuery UI 1.10.3 自定义版本中的日期插件提供了灵活的日期选择功能,通过适当的配置,可以满足各种复杂的业务需求。同时,通过与其他插件的配合,还能实现日期时间的联合选择,为用户带来更便捷的操作...

    Jquery combo-select

    然后,通过jQuery事件监听和DOM操作,我们可以监听用户的输入事件,动态更新下拉列表的显示状态。以下是一个基本的实现示例: ```html &lt;select id="combo-select"&gt; &lt;option value="option1"&gt;Option 1 ...

    jquery 1.4.1-vsdoc.js及1.4.2.min.js

    在JavaScript的世界里,jQuery是一个广泛使用的库,它极大地简化了DOM操作、事件处理、动画效果和Ajax交互。本文将深入探讨两个重要的jQuery版本文件:`jquery-1.4.1-vsdoc.js`和`jquery-1.4.2.min.js`,了解它们的...

    jquery-ui-1.10.0.custom.zip

    总结,jQuery UI 1.10.0 自定义版本为开发者提供了强大的界面组件和高度可定制的主题,通过合理选择和配置,可以构建出高效、美观且易用的 Web 应用。在实际项目中,掌握 jQuery UI 的使用不仅能提升开发效率,也能...

    jQuery UI以及jQuery easy-ui技术手册

    总结,`jQuery UI`和`jQuery Easy-UI`都是为了提升网页交互体验和设计美感的工具。jQuery UI提供了丰富的组件和自定义主题,适合需要深度定制的项目;而jQuery Easy-UI则更注重易用性和快速开发,适用于希望快速搭建...

    jQuery-File-Upload的例子

    总结,jQuery-File-Upload是实现现代Web应用中高效、用户友好的文件上传功能的理想选择。通过深入了解其工作原理和配置方法,我们可以将其优势充分发挥,提升用户体验。同时,结合合理的服务器端处理和安全措施,...

    jquery-2.0.0.js 、jquery-2.0.0.min.js 【官方jquery包 js】

    总结来说,jQuery 2.0.0是一个面向现代浏览器的高性能库,其精简的代码和强大的功能为开发者带来了极大的便利。在实际开发中,结合合理的优化策略,可以大幅提升Web应用的用户体验和开发效率。无论是初学者还是经验...

    带分钟的js时间控件jQuery-Timepicker-Addon

    总结,`jQuery-Timepicker-Addon`作为一款强大的时间选择插件,不仅提供了分钟级别的选择,还具有高度的可定制性和灵活性,对于需要时间输入的Web应用来说,是一个非常实用的工具。开发者可以根据项目需求进行调整和...

    jquery-3.0.0.js 、jquery-3.0.0.min.js 【官方jquery包 js】

    总结,jQuery 3.0.0作为一款成熟的JavaScript库,不仅在功能上满足了开发者的需求,还在性能和兼容性上做了大量优化。无论是在小规模的个人项目,还是大型的企业级应用,jQuery都能展现出其强大而实用的一面。通过...

    jQuery jQuery-UI

    总结来说,jQuery和jQuery UI是强大的前端工具,它们大大提高了Web开发的效率和用户体验。通过熟练掌握这两个库,开发者可以构建出功能丰富、交互性强的网页应用。同时,了解和使用提供的文件资源,有助于更深入地...

    jquery-ui-1.11.4完整版

    总结,jQuery UI 1.11.4是一个强大且全面的前端UI框架,它提供了多种用户界面元素和交互效果,极大地扩展了jQuery的功能。开发者可以通过简单易用的API,快速构建功能丰富的、具有良好用户体验的Web应用。无论是在...

    jquery-1.11.0+jquery-UI-1.10.4

    总结,jQuery 1.11.0和jQuery UI 1.10.4是Web开发的强大工具,它们简化了JavaScript编程,提供了丰富的UI组件,帮助开发者构建出互动性强、用户体验佳的网页应用。在不断变化的前端技术环境中,理解和掌握这两个库的...

    jquery-1.4.2.js和jquery-1.4.2-vsdoc.js

    总结,jQuery 1.4.2是JavaScript开发中的一个重要里程碑,它的API设计和功能对后续的前端库产生了深远影响。虽然现在有更新的版本可用,但理解并掌握1.4.2的基础知识对于了解jQuery的历史和原理仍然是有益的。同时,...

    google 社区 jquery-ui-themes-1.8.12.zip

    在Web开发领域,jQuery UI是一个广泛使用的JavaScript库,它扩展了基础的jQuery功能,提供了丰富的用户界面组件,如日期选择器、对话框、拖放操作等。jQuery UI的核心特性之一就是其可定制的主题系统,允许开发者...

    jquery-1.4.2-vsdoc.js/jquery-1.4.4-vsdoc.js

    在JavaScript开发中,jQuery是一个广泛使用的库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互。在针对Visual Studio的开发环境中,jQuery提供了vsdoc.js文件,这是一个特殊的文档文件,为开发人员在IDE...

Global site tag (gtag.js) - Google Analytics