JQuery相关基础

原生javascript与jquery方法不能同时混合使用

1.操作属性
    attr:    $(‘xxx‘).attr(‘属性‘)        //一个参数是获取属性
        $(‘xxx‘).attr(‘属性‘,‘xxx‘)    //两个参数是设置属性
    filter:    $(‘XXX‘).filter(‘xx‘)        //筛选,过滤
        $(‘XXX‘).filter(‘[title=XX]‘)
    not:    $(‘XXX‘).not(‘xx‘)    //filter反义词,不包含XX属性的元素

has:    $(‘XXX‘).has(‘xx‘)    //XXX里面的元素内部是否包含XX元素,如果包含,则该元素包含在结果中。如果不包含,那么就排除。
        <div id=‘xxx‘><span id=‘xx‘></span></div>

find:    //find()方法是获得在当前结果集中每个元素的后代。满足过滤条件的则保留,保留的是后代.
        //与has()不同,而has()方法中,参数只做为条件,符合条件的,它的前元素加入新的结果集,而不是后代加入新的结果集。

next:    //下一个兄弟节点
    prev:    //上一个兄弟节点

index:    $(‘XXX‘).index()    //在当前元素所在所有兄弟节点中的位置;

addClass:  $(‘XXX‘).addClass(‘XX xx‘);    //添加class XX,xx;
    removeClass: $(‘XXX‘).removeClass(‘XX‘); //移除class;

width/height:    $(‘XXX‘).width()        //width
    innerWidth/innerHeight:    $(‘XXX‘).innerWidth()    //width+padding
    outerWidth/outerHeight:    $(‘XXX‘).outerWidth()    //width+padding+border
    outerWidth/outerHeight:    $(‘XXX‘).outerWidth(true)//width+padding+border+margin

2.DOM操作

insertBefore:   $(‘b‘).insetBefor($(‘a‘));    //将b剪切到a前面
    inserAfter:    $(‘b‘).insetBefor($(‘a‘));    //将b剪切到a后面

appendTo:     $(‘Fuji‘).appendTo($(‘Ziji‘));    //在Fuji中 末尾 插入Ziji;
    prependTo:     $(‘Fuji‘).prependTo($(‘Ziji‘));    //在Fuji中 开始 插入Ziji;

before,after,append,prepend:    $(‘b‘).befor($(‘a‘));    //b的前面是a = 将a剪切到b前面;其他同理;

remove:    $(‘a‘).remove();    //移除a;

scrollTop/scrollLeft:    纵向/横向滚动条距离

offset():   offset().left;    //元素距屏幕左边的距离,无视父级;Top同理;
    position:   position().left;    //到有定位的父级的left值,把当前元素转化为类似定位的形式;

offsetParent():          //获取有定位的父级
    parent:              //获取父级
    parents: $(‘a‘).parents(‘XXX‘)    //获取祖先节点,传入参数可筛选
    closest:    //获取最近的指定的祖先节点(包括当前元素自身)必须传入参数,只能找到一个元素
    siblings:    //获取兄弟节点,添加参数可筛选;
    nextAll/preAll:    //下面/上面所有兄弟节点,添加参数可筛选;
    parentsUntil/nextUntil/preUntil:    //截至到(参数)的筛选;

clone:  $(‘a‘).clone().appendTo....    //克隆,如果clone中传入true,则会克隆其方法;
    wrap:    $(‘a‘).wrap(‘<div>‘)    //在a外面包装一个div;
    wrapAll:$(‘a‘).wrapAll(‘<div>‘)    //在所有的a外面都包装一个div;会改变DOM节点方式,注意
    wrapInner: $(‘a‘).wrapInner(‘<div>‘)    //在所有a内部都包装一个div;
    unwrap:    $(‘a‘).unwrap()        //方法删除被选元素的父元素

add:    var a=$(‘a‘).add(‘b‘);    //a同时包含了a,b;
    slice:    //分割
    serialize/serializeArray

3.event
    
    ev.pageX: 鼠标坐标    //相对于文档    clientX:相对于可视区
    ev.which:键值        //包括鼠标键值

ev,preventDefault:    //阻止默认事件
    ev.stopPropagation:    //阻止冒泡操作
    return false:    //既阻止默认事件,又阻止冒泡操作
    
    delegate:    $(‘ul‘).delegate(‘li‘,‘click‘,function(){ })
            //利用冒泡原理对Li添加事件;名称:事件委托
            //优点:省去循环操作,对于后添加进来的元素同样成立,性能优;
    undelegate:    //阻止事件委托;

trigger:  $(‘a‘).on(‘XXX‘,fn1);      $(‘a‘).trigger(‘XXX‘)    //主动触发XXX事件;
    
    on:     $(‘a‘).on(‘event‘,fn);    $(‘a‘).on({‘event‘:fn1,‘event2‘:fn2});
        $(‘a‘).on(‘event‘,{"XX":xx},fn(ev){    
            ev.date.XX    //data为json格式;
            ev.target    //事件源,操作的是谁
            ev.type        //事件类型
        });
    off: 取消事件
    
    bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数
    $("a").bind("click",function(){alert("ok");});
    live(type,[data],fn) 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的
    $("a").live("click",function(){alert("ok");});
    delegate(selector,[type],[data],fn) 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数
    $("#container").delegate("a","click",function(){alert("ok");})
    on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数

差别:
    .bind()是直接绑定在元素上
    .live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。
    .delegate()则是更精确的小范围使用事件代理,性能优于.live()
    .on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制
4.其他

one:$(‘a‘).one(‘event‘,fn);    //只触发一次事件

val:  $(‘a‘).val;    $(‘a‘).val(xxx);  //获取value值,更改value值
    size:        //获取长度;
    each:    $(‘a‘).each(function(i,elem){})    //for in; 参数1:下表;参数2:每个元素

hover:    //鼠标移入移出
    hide/show:      $(‘a‘).hide(time);    //隐藏/显示;加了时间(time)会有动画;
    fadeIn/fadeOut: $(‘a‘).fadeIn(time)    //淡入淡出;默认400毫秒;   参数2:透明度
    slideDown/slideUp:     $(‘a‘).slideDown(time)    //向上卷曲/向下展开

5.基础扩充
    get:    $(‘a‘).get(0).innerHTML;    //使jq和js可以混合使用,get需要指定集合第几个使用;
        for(var i=0;i<$(‘a‘).get().length;i++){    }
        for(var i=0;i<$(‘a‘).length;i++){    }    //源码中也有Length属性

outerWidth:    //可以获取到隐藏元素的宽高,原生offsetWidth无法获取隐藏元素宽高
    text:    //只获取文本内容,不会获取到标签

detach:        //跟remove方法一样,不过会保留删除这个元素被删除前的操作行为

6.动画
    animate:    //参数1:运动的值和属性
            //参数2:运动的时间
            //参数3:运动形式:swing(慢快慢),linear(匀速)
            //参数4:回调函数

stop:        //阻止当前运动,
            //参数1:true,阻止所有运动;
            //参数2:true,立即让当前动画直接走完;
    
    finish:        //立即停止到所有指定的目标点;

delay:        //延迟;

7.工具方法
    $.type:      js:typeof;    //相比于typeof ,功能更强大,能判断更多的类型;
    $.trim:   js:无trim
    $.inArray:  var a=[‘a‘,‘b‘,‘c‘,‘d‘]; $.inArray(‘b‘,a);    //类似于indexOf
    $.proxy:   $.proxy(fn1,xxxx)    //改变this指向;将fn1中this的指向xxxx;
           $.proxy(fn1,xxxx)(a,b)    //传参a,b;会立即执行;
           $.proxy(fn1,xxxx,a,b)    //传参a.b;调用才执行;
    
    $.noConflict:   var xxx=$.noConflict();    //xxx可以当作$使用;例如:xxx(‘a‘).css....;
    $.parseJSON;    //转为json;
    $.makeArray:    //类数组转为真正数组;

8.ajax
    $.ajax({
        url:xxxx,
        data:xxxxxx,
        type:‘POST/GET‘,
        success:function(){    },
        error:function(){    },.........
    })

9.扩展
    $.extend: 扩展工具方法下的插件形式    $.xxx() $.yyy();
        $.extend({
            leftTrim:function(str){
                return str.replace(/^\s+/,‘‘);
            }
        });
    $.fn.extend:    扩展JQ对象下的插件形式    $().xxx()  $().yyy();

时间: 2024-10-15 19:55:44

JQuery相关基础的相关文章

JQuery 相关用法和操作

01-JQuery 基础语法: 1.使用JQuery必须先导入JQuery.x.x.xjs文件. 2.JQuery中的选择器: $(选择器).函数() ① $是JQuery的缩写,既可以使用JQuery("选择器").函数(): ② 选择器,可以是任何的css支持的选择符: 3.文档就绪函数:防止在文档未完全加载完成之前,运行JQuery代码: $(document).ready(function(){ // JQuery代码 }); 简写形式:$(function(){ }); [文

jQuery官方基础教程笔记(转载)

本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. 对于网页开发者来说,学会jQuery是必要的.因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础,并且确实可以很轻松地做出许多复杂的效果. 虽然jQuery上手简单,比其他

Oracle相关基础

Oracle相关基础 01)关系型数据库和非关系型数据库 关系型数据库是:是基于关系模型提出来的数据库,关系模型是用一张二维表来表示和存储数据的: 非关系型数据库(NoSQL)是:键值对的方式进行存储数据,key-value.redis 02)数据库和实例 数据库就是一堆文件,是一个物理概念:数据库文件里面的一堆文件加载到内存中,把内存中的镜像叫做实例,实例是一个 逻辑概念: 操作数据库,需要通过操作实例. 03)Oracle的集群 04)Oracle的体系结构 任何语言都是以操作系统的进程来操

网络连接相关基础知识笔记

一.常说的TCP/IP的含义 TCP/IP协议簇并不仅仅指TCP协议和IP协议,实际它包括了一系列协议组成的集合,如:TCP,IP,UDP,FTP,SMTP,DNS,ARP,PPP等 TCP与UDP协议都属于传输层协议,但有很大不同,TCP是面向连接的协议,提供的是可靠的数据流服务,TCP采用"带重传的肯定确认"机制来实现传输的可靠性,实现了一种"虚电路",因为从物理上来说,并不是真正在两台主机间建立了连接,这种连接只是存在于逻辑上的.最大的开销出现在通信前建立连接

深入理解mysql之BDB系列(1)---BDB相关基础知识

    深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1中相关数).1)数据存取子系统,2)事务子系统,3)锁子系统,4)内存池管理子系统,5)日志子系统. 在一个应用程序中,并不一定须要全然具备这5大子系统. 假设程序仅仅使用了数据存取子系统,它的体系结构如图1.2.在图1.2中,我们仅仅使了两个子系统:数据存取以及内存池子系统.(备注:另外三个子系统在B

linux设备驱动归纳总结(一)内核的相关基础概念【转】

本文转载自:http://blog.chinaunix.net/uid-25014876-id-59413.html linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 一.linux设备驱动的作用 内核:用于管理软硬件资源,并提供运行环境.如分配4G虚拟空间等. linux设备驱动:是连接硬件和内核之间的桥梁. linu

WPF流程图制作系列相关基础一

WPF流程图制作相关基础一 需求是要通过wpf开发流程图,这个流程图是用户自行拖动配置. 使用过流程图的话,应该大体能想象出流程图拖动配置的样子.这里主要会涉及到的技术知识点就是 wpf拖动相关的知识. 但其实,wpf拖动是有几种不同的实现思路的 方案一  通过相应 鼠标的  mousedown  mousemove mouseup等事件 来让 流程图标跟着 进行移动. 方案二  wpf自带有鼠标拖动事件,但是这个拖动 主要是注重于 将信息 从一个地方 通过拖动这个动作复制到另一个地方. 而不是

图像增强相关基础知识

图像增强处理-1 图像增强是图像处理中一个重要的内容,在图像生成,传输或变换的过程中,由于多种因素的影响,造成图像质量下降,图像模糊,特征淹没,给分析和识别带来困难.因此,按特定的需要将图像中感兴趣的特征友选择地突出,衰减不需要的特征,提高图像的可懂度是图像增强的主要内容.图像增强不考虑图像降质的原因,而且改善后的图像也不一定逼近原图像,这是它与图像复原本质的区别.图像增强的主要目的有两个:一是改善图像的视觉效果,提高图像的清晰度:二是将图像转换成一种更适合人类或机器进行分析处理的形式,一边从图

jquery学习基础(二)

今天继续学习jquery的基础.直接看栗子吧. jquery操作checkbox demoOne 这里我点击超链接的时候,使用alert将所有已经checked的checkbox的value值打印出来,先看下效果: 关键的html和jquery代码: <div> <a href="#">获得被选中的元素</a> <input type="checkbox" checked value="111">c