jQuery 基础语法

jQuery介绍

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

    2.jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.“

jQuery的优势

  1. 一款轻量级的JS框架。jQuery核心js文件才几十kb,不会影响页面加载速度。
  2. 丰富的DOM选择器,jQuery的选择器用起来很方便,比如要找到某个DOM对象的相邻元素,JS可能要写好几行代码,而jQuery一行代码就搞定了,再比如要将一个表格的隔行变色,jQuery也是一行代码搞定。
  3. 链式表达式。jQuery的链式操作可以把多个操作写在一行代码里,更加简洁。
  4. 事件、样式、动画支持。jQuery还简化了js操作css的代码,并且代码的可读性也比js要强。
  5. Ajax操作支持。jQuery简化了AJAX操作,后端只需返回一个JSON格式的字符串就能完成与前端的通信。
  6. 跨浏览器兼容。jQuery基本兼容了现在主流的浏览器,不用再为浏览器的兼容问题而伤透脑筋。
  7. 插件扩展开发。jQuery有着丰富的第三方的插件,例如:树形菜单、日期控件、图片切换插件、弹出窗口等等基本前端页面上的组件都有对应插件,并且用jQuery插件做出来的效果很炫,并且可以根据自己需要去改写和封装插件,简单实用。

  两种引入方式

    下载链接:jQuery官网,首先需要下载这个jQuery的文件,然后在HTML文件中引入这个文件,就可以使用这个文件中帮我们提供的jquery的接口了。其中min是压缩版的与其他的是相同的。可以下载保存在本地,每一次都需要引入,方便引入。

          第一种:引入本地文件,放在当前目录下,利用下面语句就可以了。

    

<script src="jquery-3.2.1.min.js"></script>
<script >jquery的语句块</script>

  第二种:使用文件的网络地址,就像我们img标签里面的那个src的用法差不多。引入完之后,就可以直接使用jQuery的语法来写了,但是还是要写在script标签里面,并且要注意引入顺序,先引入文件,再在script标签里面写jQuery的代码,先导入再使用。

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版。目前该版本是官方主要更新维护的版本,我们学习就用3.几的就行了,工作中如果需要兼容IE678,就用1.几版本的就行,2.几版本的就别用了。

    维护IE678是一件让人头疼的事情,一般我们都会额外加载一个CSS和JS单独处理。值得庆幸的是使用这些浏览器的人也逐步减少,PC端用户已经逐步被移动端用户所取代,如果没有特殊要求的话,一般都会选择放弃对678的支持。

jQuery基础语法

   1查找标签

    (1)基本选择器(与css基本一致)

$('#id')   //  id选择器
$('.class')  // class选择器
$('TagName')//标签选择器
$('*')//全部选择器   系统自己带的html body head等标签也会拿到
$('div.c1') // 配合选择器
$('.c1 .c2')// 组合选择器      中间用逗号以及一个空格来分割

     (2)层级选择器(同css)

扫描二维码关注公众号,回复: 5601911 查看本文章
$("x y");// x的所有后代y(子子孙孙)
$("x > y");// x的所有儿子y(儿子)
$("x + y")// 找到所有紧挨在x后面的y
$("x ~ y")// x之后所有的兄弟y

        2 基本筛选器(通过冒号之前选择一部分,选择之后再过滤)格式$('基本选择器:基本筛选器')

:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素   

// 需要注意此时索引是通过中括号来取值

:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数 
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)

   3 属性选择器

    

[attribute]//  可以填写自定义属性
[attribute=value]// 属性等于

[attribute!=value]// 属性不等于

  4 表单筛选器

     基本用于form中的input标签, :password 相当于 input:password

:password
:file
:radio
:checkbox

:submit
:reset
:button
:text
 

  5 表单对象属性

       需要注意的是checked,checked只在radio和checked里面有,但是如果只写checked的话会将select中的selected也选中

:enabled
:disabled
:checked
:selected

  

  6 筛选器方法(最常用)

$("#id").next()  //下一个
$("#id").nextAll()
$("#id").nextUntil("#i2") #直到找到id为i2的标签就结束查找,不包含它
$("#id").prev()//上一个
$("#id").prevAll() //注意他的顺序是往上找的,所以看起来是反的
$("#id").prevUntil("#i2")
$("#id").parent()
$("#id").parents()  // 查找当前元素的所有的父辈元素(爷爷辈、祖先辈都找到)
$("#id").parentsUntil('body') // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止,这里直到body标签,不包含body标签,基本选择器都可以放到这里面使用。
$("#id").children();// 儿子们
$("#id").siblings();// 兄弟们,不包含自己,.siblings('#id'),可以在添加选择器进行进一步筛选

 

A(Elenment) find B  //其中A是父级标签相对于B,其中B属于子表签的属性,b代表后低啊标签
A(Elenment) filter B // b是A的属性 

  7  样式操作

addClass();// 添加指定的CSS类名。
removeClass();// 移除指定的CSS类名。
hasClass();// 判断样式存不存在
toggleClass();// 切换CSS类名,如果有就移除,如果没有就添加。

  8 css操作

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

  9位置操作

offset()// 获取匹配元素在当前窗口的相对偏移或设置元素位置
position()// 获取匹配元素相对父元素的偏移,不能设置位置
$(window).scrollTop()  //滚轮向下移动的距离
$(window).scrollLeft() //滚轮向左移动的距离

  10 尺寸操作

height() //盒子模型content的大小,就是我们设置的标签的高度和宽度
width()
innerHeight() //内容content高度 + 两个padding的高度
innerWidth()
outerHeight() //内容高度 + 两个padding的高度 + 两个border的高度,不包括margin的高度,因为margin不是标签的,是标签和标签之间的距离
outerWidth()

   11 文本操作

text()// 取得所有匹配元素的内容,只有文本内容,没有标签
text(val)// 设置所有匹配元素的内容,不识别标签,将标签作为文本插入进去
html()// 取得第一个匹配元素的html内容,包含标签内容
html(val)// 设置所有匹配元素的html内容,识别标签,能够表现出标签的效果

  12 值操作

val()// 取得第一个匹配元素的当前值
val(val)// 设置所有匹配元素的值
val([val1, val2])// 设置多选的checkbox、多选select的值
$("[name='hobby']").val(['basketball', 'football']);
$("#s1").val(["1", "2"])

  

猜你喜欢

转载自www.cnblogs.com/tianhognwei/p/10567712.html