JQuery

1、什么是jQuery

jQuery是一个优秀的JavaScript框架。一个轻量级的JavaScript类库。jQuery的核心理念是Write less。Do more。

使用jQuery能够兼容各种浏览器,方便的处理HTML、Events、动画效果等,而且方便的为站点提供AJAX交互。

jQuery公布于2006年,一经提出就吸引非常多人參与到丰富这个类库的开发之中。jQuery写法的简单性、易用性大

大提升了人们对它的使用。而且完备的文档说明也是其易用的一个体现。使用jQuery时能够做到HTML页面代码和控

制的分离。彻底的将控制代码放入一个单独的文件。

jQuery的版本号已经从1.x到了2.x。可是从2.x開始将不再支持IE6,7,8。文件的下载能够去jquery.com下载。

2、JQuery操作:利用选择器定位节点

jQuery操作的第一步一定是要先找到这个对象,也就是定位节点。这要借助于其强大的选择器。

为了定位一个id属性为d1的div节点,使用的选择器写法如$(“div”)或$(“#d1”),这都是定位的一种写法,这个$符号

就是jQuery中最主要的符号。搭配上不同的选择器最后就会成为包装后的jQuery对象。

jQuery解决这个问题的第二步就是调用类库中提供的方法。比方,为了改动div中文本的字体大小,在成功定位以后

通过css方法就能够实现。

典型的jQuery编程方式就是分这两步。定位后调用。

定位能够创建jQuery对象,调用方法会对jQuery对象施加动作。

3、JQuery对象和DOM对象能够互相转化:



DOM对象 -> jQuery对象

DOM对象向jQuery对象的转变非常easy,外面追加$和圆括号就可以。

function f( ){
var obj = document.getElementById(‘d1’);
//DOM -> jQuery对象
var $obj = $(obj);
//能够调用JQuery方法了
$obj.html(‘hello jQuery’);
}

jQuery对象 -> DOM对象

jQuery对象向DOM对象转化,通过调用get方法加參数值0就可以

function f( ){
var $obj = $(‘#d1’);
//jQuery对象 -> DOM
var obj = $(obj).get (0);
//能够调用DOM方法了
obj.innerHTML = ‘hello jQuery’;
}

4、jQuery选择器

jQuery选择器是一种类似CSS选择器的特殊说明符号,可以帮助jQuery定位到要操作的元素上,使用了选择器可

以帮助HTML实现内容与行为的分离。仅仅须要在元素上加上id属性。

jQuery的选择器提供了非常多种形式,依照定位的不同特点,将其分类例如以下:

        1.基本选择器

        2.层级选择器

        3.过滤选择器

        4.表单选择器



基本选择器#id: id选择器



#id

利用id属性的唯一性进行定位,这是最快的定位方式。尽量使用Id选择器。

    

function f1(){
$('#d1').css('font-size','60px');
} <div id="d1">hello jQuery</div>
<div class="s1">hello prototype</div>
<p class="s1">hello dojo</p>
<a href="javascript:;" onclick="f1();">ClickMe</a>

基本选择器.class:类选择器



.class

依据节点的class属性进行定位。

function f2(){
$('.s1').css('font-size','60px');
} <div id="d1">hello jQuery</div>
<div class="s1">hello prototype</div>
<p class="s1">hello dojo</p>
<a href="javascript:;" onclick="f2();">ClickMe</a>

基本选择器element:元素选择器



根据HTML标记进行区分。满足条件的标记都会被返回。

function f3(){
$('div').css('font-size','60px');
} <div id="d1">hello jQuery</div>
<div class="s1">hello prototype</div>
<p class="s1">hello dojo</p>
<a href="javascript:;" onclick="f3();">ClickMe</a>

合成选择器:



合成选择器,即所有选择器的合集作为定位的所有元素。

function f4(){
$('#d1,p').css('font-size','60px'); //寻找ID为d1的<div>和他的子节点<p>标签
} <div id="d1">hello jQuery</div>
<div class="s1">hello prototype</div>
<p class="s1">hello dojo</p>
<a href="javascript:;" onclick="f4();">ClickMe</a>

层次选择器: select1 空格 select2



依据select1找到节点后,再去查找子节点中符合select2选择器的节点。这样的写法非常重要,非经常常使用。

function f1(){
$('#d1 div').css('font-size','80px'); //查找ID为d1的div下的<div>
}
<div id="d1">
<div id="d2">hello java</div>
<div id="d3">
<div id="d4" style="font-size:40px;">hello c</div>
</div>
<div id="d5">hello red</div>
<p>hello perl</p>
</div>
<a href="javascript:;" onclick="f1();">ClickMe</a>

层次选择器: select1 > select2



仅仅查找直接子节点,不查找间接子节点。

 function f2(){
$('#d1>div').css('font-size','80px'); //查找ID为d1的<div>下的子节点<div>,再下一层则不查找
}
<div id="d1">
<div id="d2">hello java</div>
<div id="d3">
<div id="d4" style="font-size:40px;">hello c</div>
</div>
<div id="d5">hello red</div>
<p>hello perl</p>
</div>
<a href="javascript:;" onclick="f2();">ClickMe</a>

层次选择器: select1 + select2



+号表示下一个兄弟节点

function f3(){
$('#d3+p').css('font-size','80px'); //查找ID为d3的<div>的下一个兄弟节点<p>
} //假设d3的下一个兄弟节点不是<p>则无效
<div id="d1">
<div id="d2">hello java</div>
<div id="d3">
<div id="d4" style="font-size:40px;">hello c</div>
</div>
<div id="d5">hello red</div>
<p>hello perl</p>
</div>
<a href="javascript:;" onclick="f3();">ClickMe</a>

层次选择器: select1 ~ select2

“~”代表以下的全部兄弟节点。

function f4(){
$('#d2~div').css('font-size','80px'); //查找ID为d2的<div>顺序之下的所有兄弟节点(同级别)
}
<div id="d1">
<div id="d2">hello java</div>
<div id="d3">
<div id="d4" style="font-size:40px;">hello c</div>
</div>
<div id="d5">hello red</div>
<p>hello perl</p>
</div>
<a href="javascript:;" onclick="f4();">ClickMe</a>

过滤选择器—基本过滤选择器







过滤选择器—内容过滤选择器



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



可见性过滤选择器:



依据元素在页面中的可见属性进行过滤,主要是对hidden属性和visible属性的推断。

 function f1(){
//"slow" "normal" "fast" 是固定速度
$('div:hidden').show("slow");
}
//也能够用详细数值来控制速度
function f2(){
$('div:visible').hide(800);
}
<div>hello jQuery</div>
<div style="display:none;">hello java</div>
<a href="javascript:;" onclick="f1();">ClickMe1</a>
<a href="javascript:;" onclick="f2();">ClickMe2</a>

属性过滤选择器:



属性过滤器会对标记的属性进行推断,符合条件的元素会作为返回的对象

function f1(){
$('div[id]').css('font-size','80px');
}
function f2(){
$('div[id=d2]').css('font-size','80px');
}
function f3(){
$('div[id!=d2]').css('font-size','80px');
}

子元素过滤选择器:



子元素过滤选择器会依据子元素的位置的数值来进行筛选。格式为 :nth-child(index/even/odd)。

function f1(){
$('ul li:eq(1)').css('font-size','60px');
}
function f2(){
$('ul li:nth-child(even)').css('font-size','60px');
}
//Odd 和 even 是可用于匹配下标是奇数或偶数的子元素的关键词

表单选择器:



表单选择器是依据表单元素特有的元素名进行定位的一种方式,所以这些选择器包含



使用的规则和以上各选择器一致。

$(“:input”)就会返回全部的input输入框。大多数情况下,表单选择器会和其它选

择器进行配合来定位元素。

5、jQuery操作DOM-查询:



html()

读取或改动节点的HTML内容的操作方式。与DOM对象的innerHTML的作用一致。



text()

读取或改动节点中的文本内容。会过滤掉标记内容,与innerText的作用基本一致,但innerText在不同浏览器中写法不同。在jQuery中则



使用text()方法就可以。



val()

读取或改动节点的value属性值。也就是针对表单元素中有value属性的哪些元素的操作。

attr()

读取或设置改动节点的属性。这种方法会更宽泛一些,能够改动元素的不论什么属性。



6、jQuery操作DOM-创建:



创建DOM节点的语法:

使用$符号将HTML标记的字符串文本括起来。即创建了DOM节点,如$(html)。

大多数时候创建后的节点须要放入文档中,使用到兴许的一些方法能够实现节点的插入

简写形式如 $(‘body’).append(‘<div>…</div>”)



7、jQuery操作DOM-插入:



插入DOM节点的方法

append方法会将DOM节点作为最后一个孩子节点加入进来

prepend方法将DOM节点作为第一个孩子节点加入进来

after方法将DOM节点作为下一个兄弟节点加入进来

before方法将DOM节点作为上一个兄弟节点加入进来



8、jQuery操作DOM-删除:



删除DOM节点的方法

remove()能够移除DOM

remove(selector)能够按选择器定位后删除

empty()清空节点



jQuery操作DOM-样式操作:



改动对象样式的方法例如以下



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

day14—JQuery编程基础的更多相关文章

  1. web前端基础——jQuery编程基础

    1 jQuery简介 jQuery是一个兼容多浏览器的JavaScript库,核心理念是write less,do more(写得更少,做得更多).它对JavaScript进行了封装,使开发更便捷,并 ...

  2. jQuery编程基础精华01(jQuery简介,顶级对象$,jQuery对象、Dom对象,链式编程,选择器)

    jQuery简介 什么是jQuery? jQuery就是一个JavaScript函数库,没什么特别的.(开源)联想SQLHelper类 jQuery能做什么?jQuery是做什么的? jQuery本身 ...

  3. jQuery编程基础精华03(RadioButton操作,事件,鼠标)

    RadioButton操作 取得RadioButton的选中值,被选中的radio只有一个值,所以直接用val()  $('#btn1').click(function () {           ...

  4. jQuery编程基础精华02(属性、表单过滤器,元素的each,表单选择器,子元素过滤器(*),追加方法,节点,样式操作)

    属性.表单过滤器 属性过滤选择器: $("div[id]")选取有id属性的<div> $("div[title=test]")选取title属性为 ...

  5. Jquery真的不难~第一回 编程基础知识

    Jquery真的不难~第一回 编程基础知识   回到目录 前言 说Jquery之前,先来学习一下Javascript(以后简称为JS)语言中的基础知识问题,其时对于每种编程语言来说基础知识都是大同小异 ...

  6. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  7. web入门之十 JS高级编程基础

    学习内容 JavaScript函数 JavaScript类和对象 解析JSON数据 能力目标 深入了解JavaScript函数 熟悉JavaScript面向对象编程 熟练进行JSON数据解析 本章简介 ...

  8. 第二章 Matlab面向对象编程基础

    DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab ...

  9. [.net 面向对象编程基础] (1) 开篇

    [.net 面向对象编程基础] (1)开篇 使用.net进行面向对象编程也有好长一段时间了,整天都忙于赶项目,完成项目任务之中.最近偶有闲暇,看了项目组中的同学写的代码,感慨颇深.感觉除了定义个类,就 ...

随机推荐

  1. 服务注册和发现 Eureka

    1.项目结构如图 图中的pom.xml 是父级pom eureka-client  和 eureka-server 是两个 Module项目,创建项目都可以用 Spring Initializr 方式 ...

  2. 牛客网 牛客练习赛7 A.骰子的游戏

    A.骰⼦的游戏 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld 题目描述 在Alice和Bob面前的是两个骰 ...

  3. (25)C#windows服务

    http://www.cnblogs.com/knowledgesea/p/3616127.html http://jingyan.baidu.com/article/fa4125acb71a8628 ...

  4. CF988 C. Equal Sums【map+pair/hash/任选两个序列,两个序列都除去他们中的一个数,使的总和相同】

    [链接]:CF988C [题意]:在n个序列中任选两个序列,两个序列都除去他们中的一个数,使的总和相同 [分析]:map<int,pair<int,int> > mp,从0~m ...

  5. #424 Div2 C

    #424 Div2 C 题意 给出 k 个分数,初始分数未知,按顺序把这 k 个分数加到初始分数上,已知 n 个加入分数后的结果(无序),问初始分数有多少种可能. 分析 也就是说这 n 个结果,它们之 ...

  6. manacher(马拉车)算法详解+例题一道【bzoj3790】【神奇项链】

    [pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=39091399 (CSDN好像有bug,不知道为什 ...

  7. 10.getter & setter

    自定义 Person 类 class Person: NSObject { var name: String? var age: Int? } getter & setter var _nam ...

  8. easyui combogrid 按需加载,点击下拉加载

    功能优点:减少不必要的http请求,减少服务器查询压力,降低额外的浏览器渲染,提高呈现速度开发分享: combogrid 点击才请求的功能实现简要:我分析了费用系统,和现在全网的写法.并不满意.都是要 ...

  9. 【hibernate/JPA】对实体类的的多个字段建立唯一索引,达到复合主键的效果【spring boot】注解创建唯一索引和普通索引

    对实体类的的多个字段建立唯一索引,达到复合主键的效果 package com.sxd.swapping.domain; import lombok.Getter; import lombok.Sett ...

  10. 如何设计好的RESTful API 之好的RESTful API 特征

    原文地址:http://blog.csdn.net/ywk253100/article/details/25654021 导读:设计好RESTful API对于软件架构的可扩展性.可伸缩性和消费者的体 ...