《锋利的jQuery》学习笔记(2) 书本源码下载

jQuery选择器与CSS选择器的区别

  二者写法十分相似,只不过二者的效果不同,CSS选择器找到元素后是添加样式,而jQuery选择器找到元素后是添加行为。jQuery中涉及操作CSS样式的部分比单纯的CSS功能更为强大,并且拥有跨浏览器的兼容性。

jQuery选择器具有完善的处理错误的机制

  使用jQuery获取网页中不存在的元素也不会报错。

使用jQuery检查某个元素是否存在

  方法一,根据获取到的元素的长度来判断:

if($("#tt").length>0){
    //do something
}

  方法二,转化成DOM对象来判断:

if($("#tt")[0]){
        //do something
}

jQuery选择器

  • 基本选择器

选择器 描述
#id 根据给定的id匹配一个元素
.class 根据给定的class名匹配元素
element 根据给定的元素名匹配元素
* 匹配所有元素
selector,selector1,....selectorN 将每一个选择器匹配到的元素合并后一起返回
  • 层次选择器

    选择器 描述
    $("ancestor descendant") 选取ancestor元素里的所有descendant元素
    $("parent>child") 选取parent元素下的child元素
    $("prev+next") 选取紧接在prev元素后的next元素
    $("prev~siblings") 选取prev元素之后的所有siblings元素
  • 过滤选择器

    选择器

    描述
    :first 选取第一个元素
    :last 选取最后一个元素
    :not(selector) 去取所有与给定选择器匹配的元素
    :even 选取索引是偶数的所有元素,索引从0开始
    :odd 选取索引是奇数的所有元素,索引从0开始
    :eq(index) 选取索引等于index的元素
    :gt(index) 选取索引大于index的元素
    :lt(index) 选取索引小于index的元素

    :header

    选取所有的标题元素
    :animated 选取当前正在执行动画的所有元素
    :focus 选取当前获取焦点的元素
  • 可用性过滤器

    选择器 描述
    :hidden 选取所有不可见的元素
    :visible 选取所有可见的元素
  • 内容过滤选择器

    选择器 描述
    :contains(text) 选取含有文本内容为"text"的元素
    :empty 选取不包含子元素或者文本的空元素
    :has(selector) 选取含有选择器所匹配的元素的元素
    :parent 选取含有子元素或者文本的元素

  • 属性过滤选择器

    选择器 描述
    [attribute] 选取拥有此属性的元素
    [attribute=value] 选取属性的值等于value的属性
    [attribute!=value] 选取属性的值不等于value的元素
    [attribute^=value] 选取属性的值以value开始的元素
    [attribute$=value] 选取属性的值以value结束的元素
    [attribute*=value] 选取属性的值含有value的元素
    [attribute|=value] 选取属性等于给定字符串或者以该字符串为前缀的元素
    [attribute~=value] 选取属性用空格分隔的值中包含一个给定的元素

    [attribute1][attribute2]

    [attributeN]

    复合属性选择器
  • 子元素过滤选择器

    选择器 描述
    :nth-child 选取每个父元素下的第index个子元素(index从1开始)
    :first-child 选取每个父元素的首个子元素
    :last-child 选取每个父元素的最后一个子元素
    :only-child 如果某个元素是他父元素的唯一的子元素,将会被匹配
  • 表单对象属性过滤选择器

    选择器 描述
    :enabled 选取所有可用元素
    :disabled 选取所有不可用的元素
    :checked 选取所有被选中的元素
    :selected 选取所有被选中的选项元素
  • 表单选择器

    选择器 描述
    :input 选取所有的<input><textarea><select><button>元素
    :text 选取所有的当行文本框
    :password 选取所有的密码框
    :radio 选取所有的单选框
    :checkbox 选取所有的多选框
    :submit 选取所有提交按钮
    :image 选取所有的图像按钮
    :reset 选取所有的重置按钮
    :button 选取所有的按钮
    :file 选取所有的上传域
    :hidden 选取所有不可用元素

选择器中的注意事项

  • 选择器中含有"."、"#"、"("、")"等特殊字符,应该使用转义符转义。
  • 1.3.1以前的版本需要在属性前添加@符号。
  • 注意空格,注意空格,注意空格。