Jquery学习笔记-程序员宅基地

技术标签: ViewUI  json  数据结构与算法  javascript  



Jquery 学习笔记

jquery简介:

(1)jquery是干什么的呢?

为了简化 JavaScript 的开发一些 JavsScript 库诞生了. JavaScript 库封装了很多预定义的对象和实用函数。能帮助使用者建立有高难度交互的 Web2.0 特性的富客户端页面并且兼容各大浏览器

当前流行的 JavaScript 库有: jQuery, MooTools, Prototype, Dojo, YUI, EXT_JS  DWR

jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team

jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。

它是轻量级的js(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。

jQuery是一个快速的,简洁的javaScript,使用户能更方便地处理HTML documentsevents、实现动画效果,并且方便地为网站提供AJAX交互。

jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

 

1.jquery对象和dom 对象的转化

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<script src="../js/jquery-1.4.2.js"></script>    --引入jQuery-1.4.2.js文件,相当于引入jar

<script type="text/javascript">

window.onload = function()

{

//利用dom技术获取页面上的某一个对象

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

//dom对象转化成jquery对象   jquery对象是数组对象   如果没有对应的页面的元素,则数组的长度为0

var jquerObj = $(domObj);

//也是jQuery对象,但是数组的长度为0

var jQueryObject1 = $("#usernam");

alert(jQueryObject1);

//jquery对象转化成dom对象

var jQueryObj = $("#username");

jQueryObj.get(0)//jquery对象转化成dom对象

jQueryObj[0] ;//jQuery对象转化成dom对象

}

</script>

<body>

<input type="text" name = "username" id = "username"><input>

</body>

</html>

两种转换方式将一个jQuery对象转换成DOM对象:[index].get(index); 

1.jQuery对象是一个数组对象,可以通过[index]的方法,来得到相应的DOM对象 

2. jQuery本身提供,通过.get(index)方法,得到相应的DOM对象

 

2.选择器

2.1基本选择器

基本选择器基本选择器是jquery中最简单,也是最常用的选择器。它通过元素id,class和标签名来查找DOM元素

  $(#id)  

返回值:单个元素组成的集合

  $(element标签)

返回值:元素集合

  $(.class) 

这个标签是直接选择html代码中class=”myClass”的元素或元素组(因为在同一html页面中class是可以存在多个同样值的).

  $(*) 

匹配所有的元素

  select1,select2

用法: $(”div,span,p.myClass”)    返回值  集合元素

 说明将每一个选择器匹配到的元素合并后一起返回.你可以指定任意多个选择器并将匹配到的元素合并到一个结果内.

2.2层析选择器

层次选择器     如果想通过DOM元素之间的层次关系来获取特定元素。例如子元素、兄弟元素等。则需要通过层次选择器。

$(form input)

返回值  集合元素  说明在给定的祖先元素下匹配所有后代元素.

$(form>input)

说明在给定的父元素下匹配所有子元素.注意:要区分好后代元素与子元素

$(form+input)

说明匹配所有紧接在 prev 元素后的 next 元素

$("form ~ input")

找到所有与表单同辈的 input 

示例:

 

HTML 代码:

<form>  <label>Name:</label>  <input name="name" />  <fieldset>      <label>Newsletter:</label>      <input name="newsletter" /> </fieldset></form><input name="none" />

jQuery 代码:

$("form ~ input")

结果:

[ <input name="none" /> ]

 

 

2.3过滤选择器

过滤选择器主要是通过特定的过滤规则来筛选出所需的 DOM 元素该选择器都以 “:” 开头

按照不同的过滤规则过滤选择器可以分为基本过滤内容过滤可见性过滤属性过滤子元素过滤和表单对象属性过滤选择器.

基本过滤选择器

 

$(tr:first)

匹配找到的第一个元素

$(tr:last)

匹配找到的最后一个元素.与 :first 相对应

$(”input:not(:checked)”

去除所有与给定选择器匹配的元素.有点类似于”非”,意思是没有被选中的input(inputtype=”checkbox”)

$(tr:even)

匹配所有索引值为偶数的元素,从 开始计数.js的数组都是从0开始计数的

$(tr:odd)

说明匹配所有索引值为奇数的元素,:even对应,从 开始计数.

$(”tr:eq(0)”) 

匹配一个给定索引值的元素.eq(0)就是获取第一个tr元素.括号里面的是索引值,不是元素排列数.

$(tr:gt(0))

返回值  集合元素 说明匹配所有大于给定索引值的元素.

$(tr:lt(2)

说明匹配所有小于给定索引值的元素.

$(:header)

说明匹配如 h1, h2, h3之类的标题元素.这个是专门用来获取h1,h2这样的标题元素

内容过滤选择器

内容过滤选择器的过滤规则主要体现在它所包含的子元素和文本内容上

$(”div:contains(’John’)

返回值  集合元素

$(td:empty)  

匹配所有不包含子元素或者文本的空元素

$(”div:has(p)”)

给所有包含p元素的div标签加上class=”test”.

$(”td:parent”) 

说明匹配含有子元素或者文本的元素

可见过滤选择器

根据元素的可见和不可见状态来选择相应的元素

$(”tr:hidden”) 

匹配所有的不可见元素,

$(”tr:visible”)

匹配所有的可见元素.

属性过滤器

属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素

$(”div[id]“) 

匹配包含给定属性的元素

$(input[name=newleter)

匹配给定的属性是某个特定值的元素

$(”input[name!=newleter“)

匹配所有不含有指定的属性,或者属性不等于特定值的元素.

$(”input[name^=‘news’]“) 

匹配给定的属性是以某些值开始的元素

$(”input[name$=‘letter’]“)  

说明匹配给定的属性是以某些值结尾的元素.

$(”input[name*=‘man’“)  

说明匹配给定的属性是以包含某些值的元素.

$(”input[id][name$=‘man’]“)

复合属性选择器,需要同时满足多个条件时使用.又是一个组合,这种情况我们实际使用的时候很常用.这个例子中选择的是所有含有 id 属性,并且它的 name 属性是以 man 结尾的元素.几种组合的交集。

子元素过滤选择器

 

nth-child(index/even/odd/equation) 匹配其父元素下的第N个子或奇偶元素.这个选择器和之前说的基础过滤(Basic Filters)中的 eq() 有些类似,不同的地方就是前者是从0开始,后者是从1开始.

$(”ul li:first-child”) 

匹配第一个子元素.’:first’ 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素.这里需要特别点的记忆区别

$(”ul li:last-child”) 

匹配最后一个子元素.’:last’只匹配一个元素,而此选择符将为每个父 元素匹配一个子元素.

$(”ul li:only-child”) 

说明如果某个元素是父元素中唯一的子元素,那将会被匹配.如果父元素中含有其他元素,那将不会被匹配.意思就是:只有一个子元素的才会被匹配!

表单对象属性过滤选择器

此选择器主要对所选择的表单元素进行过滤

$(”input:enabled”)

匹配所有可用元素.意思是查找所有input中不带有disabled=”disabled”input.不为disabled,当然就为enabled

$(”input:disabled”)    

匹配所有不可用元素.与上面的那个是相对应的

$(”input:checked”)   

匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option).这话说起来有些绕口

$(”select option:selected”)   

匹配所有选中的option元素.

 

2.4.表单选择器

$(”:input”) 

说明:匹配所有 input, textarea, select 和 button 元素 

$(”:text”)

说明匹配所有的单行文本框

$(”:password”) 

匹配所有密码框.

$(”:radio”) ;

说明匹配所有单选按钮

$(”:checkbox”) 

说明匹配所有复选框

$(”:submit”) 

说明匹配所有提交按钮

$(”:image”)

说明匹配所有图像域

$(”:reset”) 

说明匹配所有重置按钮

$(”:button”) ;

说明匹配所有按钮.这个包括直接写的元素button.

$(”input:hidden”) ;

匹配所有不可见元素,或者typehidden的元素.这个选择器就不仅限于表单了,除了匹配input中的hidden,那些stylehidden的也会被匹配.

3.jquery中的dom操作

4.Jqueryajax应用

4.1 load方法

load()方法是 jQuery 中最为简单和常用的 Ajax 方法, 能载入远程的 HTML 代码并插入到 DOM 它的结构是: load(url[, data][,callback])

 

程序员只需要使用 jQuery 选择器为 HTML 片段指定目标位置然后将要加载的文件的 url 做为参数传递给 load() 方法即可

如果只需要加载目标 HTML 页面内的某些元素则可以通过 load() 方法的 URL 参数来达到目的通过 URL 参数指定选择符就可以方便的从加载过来的 HTML 文档中选出所需要的内容

传递方式: load() 方法的传递参数根据参数 data 来自动自定如果没有参数传递采用 GET 方式传递否则采用 POST 方式

对于必须在加载完才能继续的操作, load() 方法提供了回调函数该函数有三个参数代表请求返回内容的 data; 代表请求状态的 textStatus 对象和 XMLHttpRequest 对象

方法的返回值是 jQuery 

4.2 get或者post方法

$.get() 方法使用 GET 方式来进行异步请求它的结构是: $.get(url[, data][, callback][, type]);

 

$.get() 方法的回调函数只有两个参数: data 代表返回的内容可以是 XML 文档, JSON 文件, HTML 片段等; textstatus 代表请求状态其值可能为: succuss, error, notmodify, timeout 4 .

方法的返回值:XMLHttpRequest对象 

$.get()  和 $.post() 方法是 jQuery 中的全局函数而 find() 等方法都是对 jQuery 对象进行操作的方法

5. jquery tree

5.1zTree的简介

1、是jquery树插件的一种,具有特点强大的API,实例和说明,是学习和工作的很好选择。

2、支持JSON数据格式,使得整个开发变得简单化。

3、支持事件响应及反馈。

4、可以让代码方便化和简洁化。

5、支持ajax异步加载的方式,可以不用刷新就能把整个树加载进去。

5.2 zTree组成

5.2.1jquery-1.4.2.js

            jQuery的核心类库

52.2jquery-ztree-2.5.js

           Jquery树插件的核心类库

5.2.3zTreeStyle.css

        zTree插件的样式文件

5.3zTree核心API

5.3.1 zTree(setting, [zTreeNodes])
5.3.1.1说明

这个函数接受一个 JSON 格式的数据对象 setting 和 一个 JSON 格式的数据对象 zTreeNodes,从而建立 Tree

5.3.1.2例子

          

       

 5.3.2核心配置setting

5.3.2.1 treeNodeKey

设置节点唯一标识属性名称,转换数据格式时使用

53.2.2 treeNodeParentKey

设置节点的父节点唯一标识属性名称,转换数据格式时使用

5.3.2.3 showLine

设置 zTree 是否显示节点之间的连线

5.3.2.4 root

       zTree 数据节点的根,全部节点数据都处于 root.nodes 

5.3.2.5 callback

      专门用于用户自定义各种 callback 回调函数

 

5.3.3回调函数
5.3.3.1expand

        当一层节点展开时,所触发的函数。在zTree里,都是通过在setting的设置来执行回调函数的。

 

从如图可以看出,当一个节点进行展开的时候要触发zTreeOnExpand方法。

这个函数有三个参数:

Event              标准的event对象

treeId              对应于树的根节点

treeNode           被展开的节点的JSON数据对象

5.3.3.2 collapse

当一层节点关闭时所触发的函数,从图上可以看出,当一个节点关闭时触发zTreeOnCollapse函数。

这个函数有三个参数:

Event              标准的event对象

treeId              对应于树的根节点

treeNode           被展开的节点的JSON数据对象

4.3.4 addNodes

      1在指定节点下增加子节点

      2、该方法有三个参数

                   1parentNode 指定的父节点,如果增加根节点,请设置 parentNode 为 null 即可

                   2newNodes  需要增加的节点数据 JSON 对象集合,支持将节点的n级子节点一次性增加,只需要符合zTree的节点数据结构即可

                   3isSilent      设定增加节点后是否展开其父节点。isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开

    3、由树节点的引用调用该方法

            

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/thankyou/p/4352109.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30528371/article/details/95485391

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签