jQuery基础

1. jQuery是什么?

   jQuery是一个轻量级的 兼容多浏览器的JavaScript库.

  jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。

2. jQuery的使用

  1. 下载jQuery

  下载地址:https://www.bootcdn.cn/jquery/

  1.X: 兼容IE678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日).

  2.X: 不兼容IE678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日).

  3.X: 不兼容IE678,只支持最新的浏览器。需要注意的是很多老的jQuery插件不支持3.x版。目前该版本是官方主要更新维护的版本。

  jQuery用两种资源,一种是在线资源,采用链接的方式导入资源.另外一种就是将jQuery库下载到本地,然后使用.

  通常使用的1版本和3版本.

    jQuery的版本

      1.X  √

      2.X

      3.X  √

 

  2. 导入先导入,后使用

    在使用jQuery的时候,必须先导入,后使用,一个页面导入一次就可以了.一般在HTML代码的最下边导入,如果在head中导入会产生许多问题,这些问题是由于代码加载和执行顺序导致的.

 

  3. 使用

    1. 基础语法:

      jQuery

         $    一般用这个    ---> import gevent as g

   在使用jQuery的过程中,一般使用$代替jQuery,这两个是一种东西,就好比给python的库导入时起了个别名一样.

  js中比其他语言中变量命名中多了一个$,jQuery很好的使用$符号这一点.

 

3. 查找标签

  1. 选择器

    1. 基本选择器

      1. $('#id值')

   通过id查找标签.

1 $('#menu1');

 

 

      2. $('标签名')

   通过标签名查找标签,查到是标签集.

1 $('div');

 

 

      3. $('.class名')

   通过类名查找标签,找到的结果是数组.

$('.menu');

 

 

      4. $('*')

   查找所有的标签.

$('*');

 

 

      5. $('div.c1')

   组合使用,找到含有c1类的div标签.

$(' div.fuck');

 

 

      6. $('div, .c1')

   组合选择器,找到div标签和含有c1类的标签

$(' div, .mainMenu');

 

 

    2. 层级选择器

      1. $('div .c1)  --->  div下面子子孙孙中的c1样式类的标签

   查找div下面的所有含有c1类的标签,不单只儿子,还有孙子,重孙子等,子子孙孙无穷尽也.

$('div p');

 

 

      2. $('div>.c1')  --->  div下面儿子中的有c1样式类的标签

   查找div下面亲儿子辈的所有含有c1样式类的标签.

$('div>span');

 

 

      3. $('label + input')  --->  找到紧挨着label标签下面的input标签

   属于同级查找,查找后面紧挨着的标签,结果只有一个标签.

$('.c1 + div');

 

 

      4. $('div~p')  --->  找到div同级下面所有的p标签

$('.c1~p');

 

 

    3. 属性选择器

      1. $('[s14]')

   根据属性名称查找标签,可根据自定义的属性名称的查找特定的标签.

$('[TH]');

 

 

      2. $('[type="submit"]')

   根据属性的值查找标签,结果可以为对个标签..

$('[TH="enm"]');

 

      3. $('[type!="submit"]')

  根据属性值不等于指定的条件来查找标签.将整个HTML文件中的所有标签都会查找一遍.

$('[TH!="enm"]');

 

 

    4. 基本筛选器

  筛选器就是在之前条件的基础上再次进行筛选,最终得到自己需要的标签.

      1. $('div:first')/$('div:last')

   $('div:first')

  在所有div标签中查找第一个标签.

$('div:first');

 

  $('div:last')

  在所有div标签中查找最后一个标签.

$('div:last');

 

  上边的筛选条件也可以是其他筛选条件.

      2. $('div:eq(3)')/$('div:gt(3)')/$('div:lt(3)')

   $('div:eq(3)')

  在div标签中超出索引为3的标签,最终结果为一个标签.

$('div:eq(3)');

 

  $('div:gt(3)')

  在div标签中筛选索引大于3的所有div标签,最終的结果为标签数组.

$('div:gt(3)');

 

  $('div:lt(3)')

  在div标签中筛选索引小于3的所有div标签,最終的结果为标签数组.

$('div:lt(3)');

 

 

      3. $('div:even')/$('div:odd')

   $('div:even')

  在div标签中过滤出索引为偶数的所有div标签.

  even adj. [数] 偶数的;

$('div:even');

 

  $('div:odd')

  在div标签中过滤出索引为奇数的所有div标签.

  odd  adj. 奇数的;n. 奇数;

$('div:odd');

 

 

      4. $('div:not(.c1)')  --->  找到没有c1样式类的div标签

$('div:not(.c1)');

 

 

      5. $('div:has(c1)')  --->  找到内部有c1样式类的div标签

   从div的结果中查找子代有c1样式类的标签,最终返回的结果还是div标签.

$('div:has(.c1)');

 

 

    5. 表单筛选器

  以下方法默认使用于input select textarea标签.

      1. $(':text')/$(':password')...

   $(':text')

  查找type为text的标签

$(':text');

  $(':password')

   查找type为password的标签.

$(':password');

 

  等等.

      2. $('input:checked')

   查找选中的标签.

$('option:selected');

 

 

      3. $(':selected')

  筛选已经选中的标签.

$(':selected');

 

 

  2. 筛选器

    1. 下一个

   $("#id").next()

  查找下一个标签

$('.c1').next()

 

  

  $("#id").nextAll()
  查找后面所有的标签.
$('#only').nextAll()

 

  

  $("#id").nextUntil("#i2")
  查找从当前标签开始至结束标签之间的所有的标签,不顾头尾,开区间.
$('#only').nextUntil('#yiRan');

 

 

    2. 上一个

   $('#id').prev()

  查找当前标签的前一个标签,查询结果为一个标签.

$('#only').prev();

  $('#id').prevAll()

  在当前标签的所有同级标签中查找当前标签之前的所有标签.

$('#only').prevAll();

 

  $('#id').prevUntil('#id0')

   查找从当前标签开始至结束标签之间的所有的标签,不顾头尾,开区间.

$('#only').prevUntil('#th');

 

 

    3. 祖先标签

   $('#id').parent()

  找当前标签的上一级父标签,俗称也就是找亲爹.

$('#only').parent();

  $('#id').parents()

  查找当前标签的外层标签,不仅仅是他爹,还有他爷爷,一直找到最外层标签.数组的索引顺序是由内向外索引一次递增,最外层的标签索引值最大.

$('#only').parents();

 

  $('#id').parentUntil('#id')

   查找当前标签到指定标签之间的所有父类标签,不顾首位,开区间.

$('#zlf').parentsUntil('#only');

  由于上述代码中两个标签为亲父子关系,所以查找结果为空.

 

    4. 儿子和兄弟

   $('#id').children()

  查找当前标签的子标签,就是亲儿子的那种,孙子不算.

$('#only').children();

 

   $('#id').siblings()

  差找当前标签的兄弟标签,类似于堂兄弟.

$('#only').siblings();

 

    5. 查找

   $('div').find('p')

  类似于$('div p'),查找div标签中含有的p标签.

$('div').find('p');

 

    6. 筛选

   $('div').filter('.c1')

   在查找的结果中筛选还有c1样式类的div标签.

$('div').filter('.c1');

 

  3. 操作class样式类

    1. addClass()

      添加指定的CSS类名.

      $('#id').addClass('hide')

  

    2. removeClass()

       移除指定的CSS类名.

      $('#id').removeClass('hide')

 

    3. hasClass()

      判断是有含有指定的类名,存在返回true,不存在返回false.

    $('#id').hasClass('hide')

 

    4. toggleClass()

       翻转操作,如果存在指定的类名,就将其移除,不存在就将类名添加上.

    #('#id').toggleClass('hide')

    

    CSS

css('color', 'red')
// DOM操作:tag.style.color = 'red'

 

  示例:

$('p').css('color', 'red');
// 将所有p标签的字体颜色设置为红色

  

  4. 位置操作

  offset()  获取匹配元素在当前窗口的相对偏移或设置位置元素

  position()  获取匹配元素相对父元素的偏移

  scrollTop()  获取匹配元素相对滚动条顶部的偏移

  scrollLeft()  获取匹配元素相对滚动条左侧的偏移

 

posted @ 2018-09-07 19:35  AKA绒滑服贵  阅读(177)  评论(0编辑  收藏  举报