zoukankan      html  css  js  c++  java
  • jQuery选择器

    一、简单选择器

    元素 $('div')  只允许出现一次

    id     $('#id')

    类    $('.class')

    长度可以用length属性和size()方法来获取,id长度为一个,其他可以为多个

    元素缺失js和jq的不同

    $('#pox').css('color', 'red');                                          //不存在 ID pox 的元素,也不报错 (原因是jq内部进行了判断)

    jq查找属性是否缺失可用length属性
    document.getElementById('pox').style.color = 'red';  //报错了

    js解决方案:

    if (document.getElementById('pox')) {   //先判断是否存在这个对象
      document.getElementById('pox').style.color = 'red';
    }

    二、进阶选择器

    群组选择器   $('span,em,.box')

    后代选择器   $('ul li a') 

    通配选择器   $('*')  大通配,效率低

    还有一种选择器,可以在 ID 和类(class)中指明元素前缀 ,eg:

    $('div.box');    //限定必须是.box 元素获取必须是 div

    多class选择器 $('.box.pox')  一个dom节点下有的多个class属性,没有","和群组选择器区分

    三、高级选择器

    后代选择器      $('box p')    #box p {}                提供find()方法等价         $('#box').find('p')

    子选择器         $('#box>p')  #box>div > p {}      提供children()方法等价  $('#box').children('p')    只有子元素,孙子元素不行

    next选择器      $('div + p')   div + p {}                提供next()方法等价        $('div').next('p')             同一层次后的

    nextAll选择器  $('div ~ p')   div ~ p {}                提供nextAll()方法等价    $('div').nextAll('p') 

    为了补充高级选择器的这三种模式,jQuery 还提供了更加丰富的方法来选择元素:

      $('#box').prev('p').css('color', 'red'); //同级上一个元素

      $('#box').prevAll('p').css('color', 'red'); //同级所有上面的元素

    nextUntil()prevUnitl()方法是选定同级的下面或上面的所有节点,选定非指定的所有元素,一旦遇到指定的元素就停止选定。

      $('#box').prevUntil('p').css('color', 'red'); //同级上非指定元素选定,遇到则停止

      $('#box').nextUntil('p').css('color', 'red'); //同级下非指定元素选定,遇到则停止

    siblings()方法正好集成了 prevAll()nextAll()两个功能的效果,及上下相邻的所有元素进行选定:

      $('#box').siblings('p').css('color', 'red'); //同级上下所有元素选定

      //等价于下面:

      $('#box').prevAll('p').css('color', 'red'); //同级上所有元素选定

      $('#box').nextAll('p').css('color', 'red'); //同级下所有元素选定 

    jQuery方法要快于高级选择器

  • 相关阅读:
    php 时间问题
    php语言
    高级查询
    数据库的查询详情
    数据库的创建和增删改查,外键和主键的创建
    数据库
    js的基本语句和语法
    JS的脚本语言
    样式、格式布局
    表单的元素和样式表
  • 原文地址:https://www.cnblogs.com/IceSnova/p/7107155.html
Copyright © 2011-2022 走看看