jquery语法结构由3部分组成:1、工厂函数“$()”,会根据“()”里的参数进行查找和选择html文档中的元素,返回包含元素的jquery对象;2、选择器,即工厂函数“()”中的参数;3、内置方法(函数),用于对选取的函数进行操作。
本教程操作环境:windows7系统、jquery1.10.2版本、Dell G3电脑。
jQuery语句主要包含三大部分:$()、document和action()分别被称为工厂函数、选择器、方法。
语法:
$(selector).action();
-
选择器selector
$(selector)
-
方法action()
jQuery对象.addClass([样式名])
jquery中的$()
jQuery 里边儿的$
代表获取的意思,相当于document.getElemenById("id名")
;当然,也相当于document.getElementsByClassName("class名")
等等同上道理。
$
符号主要是用于获得元素对象,通过获取对象,才能使用jquery方法对其进行操作。
$其实就是jQuery的别称,指的就是jQuery对象,而jQuery就是jQuery库提供的一个函数
这个函数的作用是根据 () 里的参数进行查找和选择html文档中的元素, 函数作用之一就是GetElementByID的代替,但()内不仅可以是ID,还可以是各类选择器
比如:
$(document)
就是 选取整个文档对象
那是不是只可以用$来代替,不是。为了防止命名冲突,jQuery库提供了另外的机制来给jQuery函数起另外的别名。
例如:
var jq = jQuery.noConflict(); // Do something with jQuery j("div p").hide(); // Do something with another library's $() $("content").style.display = 'none';
就可以在代码里用jq 代替jQuery 和 $ 了。
简单来说,$就是jquery对象,$()就是jQuery(),在里面可以传参数,作用就是获取元素。
jquery中的选择器
jQuery 选择器允许对 HTML 元素组或单个元素进行操作。
jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。
1 .基本选择器
$("#test") 选择id值为test的元素,id值是唯一的所以返回单个元素。 $("div") 选择所有的div标签元素,返回div元素数组 $(".myclass") 选择使用myclass类的css的所有元素 $("*") 选取所有元素。 $("#test,div,.myclass") 选取多个元素。
2.层次选择器
$("div span") 选取<div>里的所有<span>元素 $("div >span") 选取<div>元素下元素名是<span>的子元素 $("#one +div") 选取id为one的元素的下一个<div>同辈元素 等同于$("#one").next("div") $("#one~div") 选取id为one的元素的元素后面的所有<div>同辈元素 等同于$("#one").nextAll("div") $("#one").siblings("div") 获取id为one的元素的所有<div>同辈元素(不管前后) $("#one").prev("div") 获取id为one的元素的前面紧邻的同辈<div>元素 所以 获取元素范围大小顺序依次为: $("#one").siblings("div")>$("#one~div")>$("#one +div") 或是 $("#one").siblings("div")>$("#one").nextAll("div")>$("#one").next("div")
3.基本过滤选择器
$("div:first") 选取所有<div>元素中第1个<div>元素 $("div:last") 选取所有<div>元素中最后一个<div>元素 $("input:not(.myClass)") 选取class不是myClass的<input>元素 $("input:even") 选取索引是偶数的<input>元素(索引从0开始) $("input:odd") 选取索引是基数的<input>元素(索引从0开始) $("input:eq(2)") 选取索引等于2的<input>元素 $("input:gt(4)") 选取索引大于4的<input>元素 $("input:lt(4)") 选取索引小于4的<input>元素 $(":header") 过滤掉所有标题元素,例如:h1、h2、h3等 $("div:animated") 选取正在执行动画的<div>元素 $(":focus") 选取当前获取焦点的元素
4.内容过滤选择器
$("div:contains('Name')") 选取所有<div>中含有'Name'文本的元素 $("div:empty") 选取不包含子元素(包括文本元素)的<div>空元素 $("div:has(p)") 选取所有含有<p>元素的<div>元素 $("div:parent") 选取拥有子元素的(包括文本元素)<div>元素
5.可见性过滤选择器
$("div:hidden") 选取所有不可见的<div>元素 $("div:visible") 选取所有可见的<div>元素
6.属性过滤选择器
$("div[id]") 选取所有拥有属性id的元素 $("input[name='test']") 选取所有的name属性等于'test'的<input>元素 $("input[name!='test']") 选取所有的name属性不等于'test'的<input>元素 $("input[name^='news']") 选取所有的name属性以'news'开头的<input>元素 $("input[name$='news']") 选取所有的name属性以'news'结尾的<input>元素 $("input[name*='news']") 选取所有的name属性包含'news'的<input>元素 $("div[title|='en']") 选取属性title等于'en'或以'en'为前缀(该字符串后跟一个连字符'-')的<div>元素 $("div[title~='en']") 选取属性title用空格分隔的值中包含字符en的<div>元素 $("div[id][title$='test']") 选取拥有属性id,并且属性title以'test'结束的<div>元素
7.子元素过滤选择器
$("div .one:nth-child(2)") 选取class为'one'的<div>父元素下的第2个子元素 $("div span:first-child") 选取每个<div>中的第1个<span>元素 $("div span:last-child") 选取每个<div>中的最后一个<span>元素 $("div button:only-child") 在<div>中选取是唯一子元素的<button>元素
8.表单对象属性过滤选择器
$("#form1 :enabled") 选取id为'form1'的表单内所有可用元素 $("#form2 :disabled") 选取id为'form2'的表单内所有不可用元素 $("input :checked") 选取所有被选中的<input>元素 $("select option:selected") 选取所有的select 的子元素中被选中的元素
9.表单选择器
$(":input") 选取所有<input>,<textarea>,<select> 和 <button>元素 $(":text") 选取所有的单行文本框 $(":password") 选取所有的密码框 $(":radio") 选取所有单的选框 $(":checkbox") 选取所有的多选框 $(":submit") 选取所有的提交按钮 $(":image") 选取所有的图像按钮 $(":reset") 选取所有的重置按钮 $(":button") 选取所有的按钮 $(":file") 选取所有的上传域 $(":hidden") 选取所有不可见元素
jquery中的方法
jquery内置的方法(函数),用于对选取的函数进行操作
例如:
直接操作元素样式的方法
CSS 属性 | 描述 |
---|---|
css() | 设置或返回匹配元素的样式属性。 |
height() | 设置或返回匹配元素的高度。 |
offset() | 返回第一个匹配元素相对于文档的位置。 |
position() | 返回第一个匹配元素相对于父元素的位置。 |
scrollLeft() | 设置或返回匹配元素相对滚动条左侧的偏移。 |
scrollTop() | 设置或返回匹配元素相对滚动条顶部的偏移。 |
width() | 设置或返回匹配元素的宽度。 |
间接操作元素样式的方法
在jquery中,可以通过操作元素属性来间接操作元素样式。
方法 | 描述 |
---|---|
addClass() | 向匹配的元素添加指定的类名。 |
attr() | 设置或返回匹配元素的属性和值。 |
prop() | 设置或返回被选元素的属性/值 |
removeAttr() | 从所有匹配的元素中移除指定的属性。 |
removeClass() | 从所有匹配的元素中删除全部或者指定的类。 |
toggleClass() | 从匹配的元素中添加或删除一个类。 |
扩展知识:
DOM模型
在DOM里存在很多不同类型的节点,通常分为3种:元素节点、文本节点和属性节点。
DOM对象
在JavaScript中,可以使用getElementsByTagName()或者getElementsById()来获取元素节点,这样得到的是DOM对象,它可以使用JavaScript中的方法。
jQuery对象
通过jQuery包装DOM对象后产生的对象,能使用jQuery中的方法。
例:$(“#title”).html(); //获取id为title的元素内的html代码
【等同于document.getElementsById(“title”).innerHTML】
jQuery对象和DOM对象的相互转换
1)jQuery对象转换成DOM对象
①jQuery对象是一个类似数组的对象,可通过[index]的方法得到相应的DOM对象。
②通过get(index)方法得到相应的DOM对象。
2)DOM对象转换成jQuery对象
需要用$()函数将DOM对象包装起来,就可以得到一个jQuery对象。
【推荐学习:jQuery视频教程、web前端视频】