Jquery的理解与使用

 

一、对jQuery对象的理解

转自:https://blog.csdn.net/abvedu/article/details/54017688

1、什么是jQuery对象?

jQuery对象是通过jQuery包装DOM对象后产生的对象。

这里首先要理解DOM文档对象模型:

(1)DOM解析XML文档时,DOM为XML文档在逻辑上建立一个树模型;

(2)DOM把XML文档作为树结构来查看,XML文档的树形结构节点就是XML文档上的元素、文本和属性。

还要理解HTML页面为什么与DOM对象联系在一起?

因为HTML页面中的元素都表现为类似XML文档的树形结构:存在元素节点、属性节点和文本节点,所以用

DOM对象也可以解析HTML页面中的元素(这也是形成jQuery选择器的原因)。

再者,还要理解DOM对象如何转化为jQuery对象?

HTML DOM 定义了多种查找HTML页面元素的方法,除了 getElementById() 之外,

还有 getElementsByName() 和 getElementsByTagName()。找到的这个页面元素就是一个DOM对象。

用jQuery构造这个DOM对象,就获得一个jQuery对象。示例:

var domObj = document.getElementById("element");

var $obj=jQuery(domObj);

2、jQuery对象的表示:

在jQuery库中,$是jQuery的一个简写形式,所以一个节点元素的jQuery对象可以写成:

$(nodeString)

其中,nodeString是:Html标签的id、class、或者标签名等。

3、jQuery中DOM的操作

DOM是一种与浏览器、语言无关的接口,利用该接口可以方便地访问HTML页面中的标准组件。jQuery提供了一系列方法

对DOM进行各种操作,从而通过DOM实现对HTNL页面中各种元素的操作。

每一个HTML页面都可以使用DOM表示,在使用jQuery进行DOM操作之前,HTML页面首先被看作一棵DOM树。
 

二、Jquery的基本使用

转自:https://blog.csdn.net/liuyingv8/article/details/79758403

引入jQuery

路径引入
<script src='文件路径'></script>
引入在线资源
<script src = "https://code.jquery.com/jquery-1.12.4.js"></script>

入口函数

$(document).ready(function(){
    //类似于原生js的window.onload
});

简写

$(function(){   });

和window.onload的区别

区别一:书写个数不同

Js入口函数只能出现一次,出现多次会存在事件覆盖的问题。
jQuery的入口函数,可以出现任意多次,并不会存在事件覆盖问题。

区别二:执行时机不同

Js入口函数是在所有的文件资源加载完成后,才执行。这些文件资源包括:页面文档、外部的js文件、外部的css文件、图片等。
jQuery的入口函数,是在文档加载完成后,就执行。文档加载完成指的是:DOM树加载完成后,就可以操作DOM了,不用等到所有的外部资源都加载完成。

DOM对象和jQuery对象

jQuery对象:

jQuery选择器拿到DOM对象后又对其做了封装,让其具有了jQuery方法的jQuery对象,说白了,就是把DOM对象重新包装了一下。

jQuery对象转换为DOM对象

第一种方式

var btn1 = $btn[0]; 

// 此时就把jQuery对象$btn转换成了DOM对象btn1 (推荐使用此方式)第二种方式

var btn2 = $btn.get(0);// 此时就把jQuery对象$btn转换成了DOM对象btn2

DOM对象转换为jQuery

使用$(domObject)包裹就可以包装成一个jQuery对象

jQuery选择器

jQuery选择器是jQuery强大的体现,它提供了一组方法,让我们更加方便的获取到页面中的元素。语法和css的选择符保持一致。

基本选择器

"#"

Id选择器

--示例$(“#btnShow”).css(“color”, “red”);选择id为btnShow的一个元素(返回值为jQuery对象)

"."

类选择器

--示例$(“.liItem”).css(“color”, “red”);选择含有类liItem的所有元素

"element"

标签选择器

--示例$(“li”).css(“color”, “red”);选择标签名为li的所有元素

"空格"

层级选择器(后代选择器)

--示例$(“#j_wrap li”).css(“color”, “red”);选择id为j_wrap的元素的所有后代元素li

">"

子代选择器

--示例$(“#j_wrap > ul > li”).css(“color”, “red”);选择id为j_wrap的元素的所有子元素ul的所有子元素li

基本过滤选择器

":eq(index)"

选择匹配到的元素中索引号为index的一个元素,index从0开始

--示例$(“li:eq(2)”).css(“color”, ”red”);选择li元素中索引号为2的一个元素

":odd"

选择匹配到的元素中索引号为奇数的所有元素,index从0开始

--示例$(“li:odd”).css(“color”, “red”);选择li元素中索引号为奇数的所有元素

":even"

选择匹配到的元素中索引号为偶数的所有元素,index从0开始

--示例$(“li:odd”).css(“color”, “red”);选择li元素中索引号为偶数的所有元素

筛选(方法)

find(selector)

查找指定元素的所有后代元素(子子孙孙)

--示例$(“#j_wrap”).find(“li”).css(“color”, “red”);选择id为j_wrap的所有后代元素li

children()

查找指定元素的直接子元素(亲儿子元素)

--示例$(“#j_wrap”).children(“ul”).css(“color”, “red”);选择id为j_wrap的所有子代元素ul

siblings()

查找所有兄弟元素(不包括自己)

--示例$(“#j_liItem”).siblings().css(“color”, “red”);选择id为j_liItem的所有兄弟元素

parent()

查找父元素(亲的)

--示例$(“#j_liItem”).parent(“ul”).css(“color”, “red”);选择id为j_liItem的父元素

eq(index)

查找指定元素的第index个元素,index是索引号,从0开始

--示例$(“li”).eq(2).css(“color”, “red”);选择所有li元素中的第二个

优化jQuery的代码性能

01 jQuery中性能最快的选择器是ID选择器 ($('#someid')). 这是因为它直接映射为JavaScript的getElementById()方法。 选择单个元素

02 类选择器前面限定标签名

03 缓存jQuery对象,jQuery有隐式迭代机制,保存为jQuery对象后在操作可以减少重复选择

04 利用事件委派处理事件

05 减少直接操作添加多个DOM元素,使用字符串拼接,添加给父元素效率会更高。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值