【学习笔记】锋利的jQuery(一)选择器

一、要点阐述

1,jQuery创建于2006年1月的一个开源项目,强调理念是“write less,do more”,压缩后大小30KB左右。、

2,jQuery里的方法都被设计程自动操作对象集合,而非单独的对象。

3,jq对象是jq对DOM对象进行包装后产生的对象,是一个类似数组的对象,可用[0]get(0)方法转成DOM对象。

 

二、jQuery和其他js库的冲突解决

//jq库在其他库之前导入时需调用noConflict()
方式1(jQuery代替$):
jQuery.noConflict();  //把$的控制权交给其他库。
jQuery(function(){...});

方式2($xhh代替$):
var $xhh = jQuery.noConflict();
$xhh(function(){...});

方式3(仍用$):
jQuery.noConflict();
jQuery(function($){...});

方式4(仍用$):
jQuery.noConflict();
(function($){
    $(function(){...});
}){jQuery};

//jq库在其他库之后导入,用jQuery代替$
jQuery(function(){...});

三、jQuery选择器

1,基本选择器和层次选择器

//基本选择器
$("#id")
$(".classname")
$("p")
$("*")  //选取所有
$("#id,.classname,p") //选取多个

//层次选择器
$("div span")  //div的所有span后代
$("div>span")  //div的子元素span
$("div+span")  //等同于$("div").next("span")
$("div~span")  //等同于$("div").nextAll("span"),注意区分.siblings()

2,过滤选择器

//基本过滤
:first/:last  //等同于:eq(0)/:eq(len-1)
:not(selector)/:has(selector)
:even/:odd  
:eq(index)/:gt(index)/:lt(index) //index从0开始

//子元素过滤,需和父级元素空格开使用
:nth-child(index/even/odd)
:first-child/:last-child
:only-child   //选取其唯一的子元素

//内容过滤
:contains("xxx") //包含有“xxx”的文本内容的元素
:empty/:parent   //包括子元素的、不包括子元素的

//表现形式过滤
:header   //h1,h2,h3...标签
:animated 
:focus    //当前获取焦点的元素
:hidden   //包括<input type="hidden">,"display:none","visibility:hidden"
:visible    

//属性过滤
div[id] 
div[class=classname]
div[class!=classname]
div[title^=value]       //属性以value开始的div
div[title$=value]       //属性以value结束的div
div[title*=value]       //属性中含有value的div
div[attribute1][attribute2]...  //多个属性过滤

3,表单选择器和对应的过滤

表单选择器
:input  //所有表单的元素,包括input,select,button...
//以下是选择对应type属性的表单元素 :text :password :radio :checkbox :submit :image :reset :button :file :hidden //比较特殊,选择的是包括表单外的所有不可见元素 表单过滤 :enabled/:disabled :checked :selected

4,jq常用的选择方法

filter(selector) //对本身进行筛选
find(selector)   //在后代中筛选
posted @ 2014-09-18 01:14  xinghh  阅读(271)  评论(0编辑  收藏  举报