一起来学jquery!

jquery学习之旅!(未完待续)

------------(一)jquery书写步骤


------------(二)jquery事件与函数


------------(三)jquery修改css属性


------------(四)jquery修改html属性


------------(五)jquery核心:选择器


------------(六)jquery的ajax使用

  前言:jquery是一个快速、简洁的JavaScript框架,是一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。jquery可以兼容各种主流浏览器:如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+、FirefoX 2.0+、Chrome 8+等。总而言之:jquery内容丰富、简单易学,学好jquery,定将使你的web开发如鱼得水!下面直接步入正题:

(一)jquery书写步骤

        1,引入jquery文件

    在官网下载好jquery文件后,在script中引入jquery文件:

        <script src="jquery.js"></script>  

        //注意:src后的路径为相对路径,根据jquery存放位置的不同而改变
        2,新建script标签来写jquery

    <script src="jquery.js"></script>

    <script> jquery代码书写区 </script>
        3,用jquery代码分离
        4,按照jquery原则书写代码

    ①$(document).ready(fn)  //$(document)是将dom对象转换为jquery对象

    ②$(function(){})  //是对上一种方法的封装(常用方法)

    ③$().ready(fn)     //这种方法内部没有dom对象的组成部分

1)这里注意与js区别:
                    ①在js中,window.onload=fn 是在把页面上dom和资源加载完成之后执行,
                       而jquery是在页面dom加载之后即执行

       ②在同一个请求中,jquery加载事件可以设置多个,而传统js加载方式只能设置一个,若多的话,后者覆盖前者
                       原因:传统加载方式是给onload事件属性赋值,jquery加载方式是遍历数组里的元素

      2)js对象与jquery对象的转换:

①将jquery对象变为dom对象:
                $(‘div‘).style.backgroundColor = "red";        //失败
                $(‘div‘)[0].style.backgroundColor = "red";    //成功  $(‘div‘)[下标]  的形式

    ②将dom对象变为jquery对象:
                var dom对象 = document.getElementsByTagName(‘div‘)[0];
                dom对象.css();        //失败
                $(dom对象).css();    //成功  $(dom对象)  的形式

(二)jquery事件与函数

1,事件:就是什么时候执行什么事  

  1)事件示例:

①click:单击事件;   dblclick:双击事件

②mouseover:鼠标移动上去事件

③mouseout:鼠标离开事件

④focus:获得焦点事件;    blur:失去焦点事件

⑤mousedown/up/move 鼠标按下,抬起,移动

⑥change:发生改变事件

⑦hover:用法:$("div").hover(function(){},function(){});
                //这个事件对应鼠标放上和鼠标离开两个事件

2)事件的绑定与解绑:

事件绑定:
        ①单个事件绑定:$("div").bind("事件",function(){});

    ②多个对象绑定多个事件:$("div").bind({"事件":function(){},"事件":function(){}});

    ③一个对象绑定多个事件:$(‘div‘).bind(‘事件1 事件2 事件3‘,function(){...});

    注意事件与函数之间符号的区别:

      ①单个事件绑定用的是 ","

      ②多个对象绑定多个事件: 对象与函数之间用的是 ":"; 多个对象之间用的是 ","

      ③一个对象绑定多个事件: 事件用一个 空格 隔开;  事件与函数之间用 "," 隔开

  解除绑定:

   unbind("action")   //action为事件参数,如果不写参数,则全部解除绑定

   解绑示例:$("div").unbind("action");

2,函数:封装好的某个功能

  函数示例:

    1) hide()隐藏
        show()显示
               toggle()切换
      注意:三者都可以传递数字参数控制斜向滑动动画时间(1000ms = 1s)
    2)
slideUp()竖直向上滑动动画
        slideDown()竖直向下滑动动画
        slideToggle()切换动画
    3) fadeIn()淡入
         fadeOut()淡出
         fadeTo()可以实现半透明

        示例:fadeTo(500,0.5)    //第二个参数是透明度的设置(0~1)
         fadeToggle()切换
    注意:
在使用jquery时,动画和事件会出现排队现象(即:如果一次执行了很多动画,后面的动画不会替换前面的,而是排队等待执行)

    这时我们可以使用插队方法进行解决:
        示例:$(this).children().stop().slideUp(); 加一个 .stop() 即可解决
    4)
setInterval():  //可按照指定的周期(以毫秒计)来调用函数或计算表达式
          示例:$(function(){
              setInterval("f1()",2000);
          })

(三)jquery修改css属性

1,jquery可以获取行内、内部、外部的样式
2,js dom方式只能获得行内样式
3,包含多种属性样式的需要拆分为具体样式进行获取

1)css属性获取及修改:

  ①css单属性获取:alert($(‘div‘).css(‘height‘))

  ②css单属性修改:$(‘div‘).css(‘属性名‘,‘属性值‘)

  ③css多属性修改:$(‘div‘).css({‘属性名‘:‘属性值‘,‘属性名‘:‘属性值‘,...})

  注意!在书写css复合属性时,要采用驼峰式命名!

     示例:background-color应写为backgroundColor

  ④.animate({属性名:‘属性值‘},500)  

  //动态的css方法,允许创建自定义的动画,可以用来操作多个css属性,使用队列功能,方法将逐一被调用,后续会加入示例。。

2)css类:

       ①添加类:addClass(className)
            示例:$("div").addClass("abcd");//注意:只是添加,覆盖了之前的而没有删除之前的
       ②删除类:removeClass(className)
       ③切换类:toggleClass(className)
           示例:$("div").toggleClass("ab");//有"ab"属性就隐藏,没有就添加

(四)jquery修改html属性

1,获取html内容(包括格式):

     $(‘div‘).html()   [innerHtml]

     $(‘div‘).html(‘代码‘)代码可以识别文本、标签
2,获取html文本内容:

     $(‘div‘).text()   [innerText]

     $(‘div‘).text(代码)设置文本内容  //注意:  如果内容中有标签,会将这些标签当作文本处理

      注意:没括号的话是获取信息,有括号是修改信息的值

3,DOM文档处理:

  1)内部插入(父子级关系):

    ①$(a).append($(b)) 把b插入a中
    ②$(b).appendTo($(a)) 把b插入到a中

      //注意:这两个都是插入到a里面的后面

      与prepend区分,是插入到a里面的前面

      //注意:若是已有节点追加,则发生位置移动,即旧节点被移除

  2)外部插入(兄弟级关系):

    ①$(a).after($(b)) 把b插入到a外面的后面
    ②$(b).insertAfter($(a)) 把b插入到a外面的后面

      //注意:与before区分,是插入到a外面的前面

      //注意:若是已有节点追加,则发生位置移动,即旧节点被移除

  3)包裹:wrap

    ①$(a).wrap($(b))  把a用b包裹起来(每个元素都会包裹)  unwrap不包裹
            ②wrapAll:  包裹所有(所有元素包裹在一起)
            ③wrapInner:  内部包裹(会包裹指定元素的下一级)

  4)替换:replaceWith

    ①$(a).replaceWith($(b))  用b替换a
            ②replaceAll    $(a).replaceAll($(b))   用a替换b
                //旧节点替换也是位置移动

  5)删除:empty

    ①empty  删除父节点下的子节点(不包括父节点)
    ②remove  删除指定的节点

  6)克隆:clone(复制)  将内容复制一份
    ①var a = $(‘b‘).clone(false);    //只复制节点,不包括事件;
    ②var a = $(‘b‘).clone(true);        //复制节点和其事件;

  7)attr()的使用:

    ①元素.attr();获取属性

    ②元素.attr(attr,value);设置属性

      示例  $("input").attr("value");    //获取
          $("input").attr("value","abcd");  //设置

    ③元素.attr({value:"zhi",type:"zhi"});设置多个属性的方法

      注意:jquery中不允许在attr中修改或删除type属性

  8)val()的使用:

    val()在复选框(checkbox)中的使用demo:

        1)获取(被选中复选框的value值)
            ①获得全部的被选中复选框元素节点对象
            ②遍历全部的被选中复选框
            ③如果有选中就获得其value值

        function f1(){
            var s = "";
            for(var i = 0;i<$(‘input:checked‘).length;i++){
                s+=$(‘input:checked:eq(‘+i+‘)‘).val()+",";
            }
            s = s.substr(0,s.length-1);//去除最后的","
            console.log(s);
        }

      2)设置(复选框中的含某些value值的项目被选中)

        function f2(){
            $(‘input‘).val([1,2,4]);
        }

     //注意:下拉列表(select option)和单选按钮(radio)的val()获取不需要遍历,直接使用$(‘‘).val()即可

        后续会增加each的用法,便可省去循环遍历的麻烦!

(五)jquery核心:选择器

(六)jquery的ajax使用

作者:一小白

出处:http://www.cnblogs.com/wccc/

本文版权归作者和博客园共有,欢迎转载,但未经本人同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

时间: 2024-08-05 20:33:44

一起来学jquery!的相关文章

菜鸟学jQuery源码(一)

整个jQuery是一个自调用的匿名函数: 1 (function(global, factory) { 2 if (typeof module === "object" && typeof module.exports === "object") { 3 module.exports = global.document ? 4 factory(global, true) : 5 function(w) { 6 if (!w.document) { 7

菜鸟学jQuery源码(前言)

前言 相信任何一名前端开发人员或者是前端爱好者都对jQuery不陌生.jQuery简单易用,功能强大,特别是拥有良好的浏览器兼容性,大大降低了前端开发的难度,使得前端开发变得“平易近人起来”.自从本人用了jQuery,顿时感觉到人生再也不是灰色的了,又能够快乐的工作了. 不过在每天码得飞起的同时,我也对jQuery充满好奇,所以也特意的去查了一下资料.现在网上和书店里面有非常多的资料对jQuery源码从各种角度进行解析,大多都是对jQuery进行总结.归纳从上往下的分析.不过本人作为一名刚毕业的

跟我一起学JQuery插件开发

http://www.cnblogs.com/Leo_wl/archive/2012/04/06/2435511.html 以前一直比较好奇,jquery插件是怎么开发的,怎么写属于自己的插件? 昨天在逛codeproject网站的时候,突然看到一篇文章:How to write plugin in Jquery. 如果对E文好的同学 ,可以看上面的连接. 现在我把上面网站的及结合自己的想法写这篇文章.希望能得到大牛们的支持和谅解...大鸟飞过...欢迎拍装. 资料来源: [1]How to w

新手学Jquery EasyUI---Datagrid右键菜单

最近在学Jquery EasyUI,现在来说一说EasyUI的DataGrid,一般当我们在实现前端界面的时候,经常在DataGrid 的上面或者后面加一些按钮,方便用户进行一些添加,删除,编辑等功能 用户在每次使用的时候,都需要去先选中一条或者多条数据,然后在去点按钮进行相关操作,这样其实还是很麻烦 的,做项目的过程中,为了用户着想,做了一个右键菜单,用户想要删除或者编辑某一条数据直接在其位置上右键 就可以.下面上代码: HTML 代码 <div id="menu" class

【原创】小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载五(给按钮加图标)

在范例5-4所使用的导航栏中,已经为按钮加入了图标的样式,但是当时并没有介绍按钮的图标究竟是怎么一回事.下面截取范例5-4中导航栏部分的代码: 1 <divdata-role="footer"> 2 <div data-role="navbar"data-grid="c"> 3 <ul> 4 <li><a id="chat" href="#"data-i

小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载五(给button加图标)

在范例5-4所使用的导航栏中,已经为button增加了图标的样式,可是当时并没有介绍button的图标到底是怎么一回事.以下截取范例5-4中导航栏部分的代码: <divdata-role="footer"> <div data-role="navbar"data-grid="c"> <ul> <li><a id="chat" href="#"data-i

学jQuery Mobile后的感想

jQuery Mobile是jQuery 在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架.支持全球主流的移动平台.jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋.移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站. 经过了几天的jquery mobile的学习以后,不得不说手机界面的难易程度并不亚于普通页面.现在的我不得不佩服那些专研手机界面的大神门.在

与jQuery的感情碰撞——由浅入深学jQuery

原来的时候自己看过jQuery,但是对于什么是jQuery,除了知道jQuery是一种javascript类库外,除了会用几个网页特效外,其他的我这真的是不知道啊.眼看自己就要找工作了,所以自己需要好好学习一下,系统的了解一下.学习了一天,下面把我学习到的精华写给大家,如果有什么错误,希望大家给予指正. 我们学习jQuery之前,必须好好的学习javascript,如果不会javascript的话,jQuery还是不会学的很好的. 一.下面先了解什么是javascript.javascript需

跟我一起学JQuery插件开发教程

在逛codeproject网站的时候,突然看到一篇文章:How to write plugin in Jquery. 如果对E文好的同学 ,可以看上面的连接.现在我把上面网站的及结合自己的想法写这篇文章.希望能得到大牛们的支持和谅解...大鸟飞过...欢迎拍装.来源: [1]How to write plugin in Jquery. [2]锋利的JQuery 书 [3]RascallySnake的JQuery.extend()详解一.介绍 插件编写的目的是给已经有的一系列方法或函数做一个封装,

从零开始学jQuery插件开发

http://www.w3cfuns.com/notes/19462/ec18ab496b4c992c437977575b12736c.html jQuery 最成功的地方,是它的可扩展性,通过吸引了众多开发者不断为添加功能,从而建立起了一个生态系统. jQuery插件开发方式主要有三种: 通过$.extend()来扩展jQuery 通过$.fn 向jQuery添加新的方法 通过$.widget()应用jQuery UI的部件工厂方式创建 通常我们使用第二种方法来进行简单插件开发, 第三种方式是