浅谈jquery

204 阅读3分钟

今天简单的说一下jQuery,说的不好还请指正,感谢.

想要使用jQuery,我们需要先下载

官网:jquery.com/

下载之后,只需在页面中导入即可

<script src="js/jquery.js" type="text/javascript" ></script>

1.DOM对象和Jquery包装集对象

在说jquery之前我们应该先明确DOM对象和jQuery包装集的概念,这将会极大加快我们的学习速度.原始的DOM对象只有DOM接口提供的方法和属性,通过js代码获取的对象都是DOM对象;而通过jQuery获取的对象是jQuery包装集对象,简称jQuery对象,只有jQuery对象才能使用jQuery提供的方法.

1.DOM对象

通过原生js获取的DOM对象.

js中获取DOM对象,DOM对象只有有限的属性和方法.

例:

var div=document.getElementById("divid");
var divs=document.getElementsByTagName("div");

2.jQuery包装集|对象

通过jQuery方式获取jQuery包装集对象

可以说jQuery包装集对象是DOM对象的扩充.在jQuery的世界中将所有的对象,无论是一个还是一组,都封装成一个jQuery包装集,比如获取包含一个元素的jQuery包装集:

var jQueryObject = $("#testDiv");

只有jQuery对象才能调用jQuery方法

3.相互转换

jQuery包装集对象转DOM对象只需加上包装集的下标即可,即

var domdivs=jQueryObject[0];

DOM对象转jQuery对象:

var jQueryObject=$(domdivs);

4.jQuery核心

"$"符号在 jQuery 中代表对jQuery 对象的引用, "jQuery"是核心对象,通过该对象可以获取jQuery对象,调用jQuery提供的方法等。只有jQuery对象才能调用jQuery提供的方法

$ <==> jQuery

2.Jquery选择器

和使用js操作Dom一样,获取文档中的节点对象是很频繁的一个操作,在jQuery中提供了简便的方式供我们查找|定位元素,称为jQuery选择器,选择器可以说是最考验一个人 jQuery 功力的地方,通俗的讲, Selector 选择器就是"一个表示特殊语意的字符串"。 只要把选择器字符串传入上面的方法中就能够选择不同的Dom 对象并且以 jQuery 包装集的形式返回。

1.基础选择器

选择器 名称 举例
id选择器 #id属性值 $("#testdiv") 将选取id值为testdiv的元素
元素名称选择器 标签名 $("div") 将选取所有的div元素
类选择器 .class属性值 $(".blue") 将选取所有class=blue的元素
选择所有元素 * $("*")将选取页面中所有元素
组合选择器 选择器1,选择器2,选择器3 $("#testdiv,span,.blue")同时选中多个选择器匹配的元素,且有去重功能

2.常用表单选择器

Forms 名称 举例
表单选择器 :input 查找所有的input元素:$(":input");注意:会匹配所有的input、textarea、select和button元素
文本框选择器 :text 查找所有文本框:$(":text")
密码框选择器 password 查找所有密码框:$(":password")
单选按钮选择器 :radio 查找所有单选按钮:$(":radio")
复选按钮选择器 checkbox 查找所有复选框:$(":checkbox")
提交按钮选择器 submit 查找所有提交按钮:$(":submit")

3.过滤选择器

名称 功能
:checked 选择素有被选中的元素(单选框,复选框,下拉框)
:selected 获取所有被选中的元素(下拉框)
eq(index) 匹配下标为指定值的元素
gt(index) 匹配下标大于指定值的元素
even 匹配下标时偶数的元素
odd 匹配下标是技术的元素

3.Jquery Dom操作

1.操作元素的属性

操作元素的属性有attr()方法和prop()方法

1.获取元素的属性

方法 说明
attr(属性名称) 获取指定的属性值,当操作checkbox时,选中返回checked,未选中返回undefined
prop(属性名称) 获取具有true和false两个属性的属性值

建议,如果属性的返回值是true或false,使用prop()方法;其他属性使用attr()

2.设置元素的属性

方法 说明
attr("属性名","属性值") 为属性赋值,可以是固有属性和自定义属性
prop("属性名","属性值") 为属性赋值,建议属性为返回值为true和false的

3.移除元素的属性

方法 说明
removeAttr("属性名") 移除指定属性名

2.操作元素的样式

方法 说明
attr("class") 获取class样式名
attr("class","样式名") 设置class样式名 (会将原本的样式移除,设置新的样式)
addClass("样式名") 添加样式名 (会保留的原有的样式;如果出现相同属性的样式,则以在style标签中后定义的样式名为准)
css("具体样式名","样式值") 添加一个具体的样式 (相当于写在style属性中的样式)--建议使用
css({"具体样式名":"样式值","具体样式名":"样值"}) 添加多个具体的样式

3.操作元素的内容

方法 说明
html() 操作非表单元素的内容(包含元素中的html标签)
text() 操作非表单元素的纯文本内容(不包含元素中的html标签)
val() 获取表单元素的值,即value

上述三个方法无参数就是取值,有参数就是赋值

4.创建元素

创建语法:

$("要创建的元素")

5.添加元素

方法 说明
append(content) 在被选元素内部的结尾插入元素或内容,被追加的 content 参数,可以是字符、HTML 元素标记。
prepend(content) 在被选元素内部的开头插入元素或内容,被追加的 content 参数,可以是字符、HTML 元素标记。

6.删除元素

方法 说明
remove() 删除所选元素或指定的子元素,包括整个标签和内容一起删
empty() 清空所选元素的内容

7.遍历元素

使用普通for循环也可以

也可以使用each()方法

用法:

$(selector).each(function(index,element){
    console.log("index:" + index);
    console.log(element);

})

参数function为遍历时的回调函数

index为遍历元素的序列号,从0开始

element是当前元素,此时是dom元素

function中可以不用放参数

$(selector).each(function(){
console.log(this);
console.log($(this));
});

4.Jquery事件

1.ready()加载事件

ready()加载事件类似于onload事件

语法:

$(document).ready(function(){});

简写版:

$(function(){});

ready()方法可以写多个,按顺序执行 ready事件与onload事件的异同:

  1. 两个方法都是预加载事件,等页面加载完毕执行的方法
  2. ready事件当页面的DOM结构加载完毕后执行
  3. onload事件当页面的DOM结构以及页面资源加载完毕后执行

2.元素绑定事件

为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数

绑定语法:

$(selector).bind( eventType [, eventData], handler(eventObject))

eventType:是一个字符串类型的事件类型,也就是多需要绑定的事件.

类型包括:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick,mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave,change, select, submit, keydown, keypress, keyup, error.

[, eventData]:传递的参数,格式:{名:值,名2:值2}

handler(eventObject):该事件触发执行的函数

例:

$("#btnid").bind("click",function(){})

也可以写成:

$("#btnid").click(function(){})

当给元素绑定多个事件且执行不同的函数时:

$("#btnid").bind("click",function1(){}).bind("mouseout",function2(){})

可以写成:

 $("#btnid").bind(){
     "click":function1(){},
     "mouseout":function2(){}
 }

还可以写成:

$("#btnid").click(function1(){}).mouseout(function2(){})