最近在慕课网学习JQuery基础课程,发现只是跟随网站的课程学习而不去自己总结扩展的话,很难达到真正学会理解的地步。

于是先在网站上草草过了一遍课程,然后借着今天的这个时间边记录边重新整理学习一下。

初识JQuery

环境搭建:

在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库。在网站中找到最新版本文件的下载按钮,将jQuery框架文件下载到本地即可,本教案使用的版本为稳定版:1.8.2版。下载完jQuery框架文件后,并不需要任何的安装,仅需要使用<script>文件导入标记,将jQuery框架文件导入页面中即可,假设该文件下载后保存在项目文件夹Jscript中,那么,在页面的<head></head>中加入如下代码:

<script language="javascript" type="text/javascript" src="jquery-1.8.2.min.js"></script>

在页面的头部分,加入上述代码后,便完成了jQuery框架开发环境的搭建,就可以开始我们的jQuery学习了。

我在网上学习的时候,看到网站中引用JQuery是用的以下语句:<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>

这个是百度的一个云平台,也可以直接引用过来用的。不过我觉着如果那天百度出问题的时候,我们的引用也会跟着出问题,所以保险起见还是老实的去官网下载JQuery吧。 如果使用百度的jquery,当用户在访问过百度后,再访问你的页面时会提高访问速度,这个是使用类似百度、又拍云、新浪、谷歌或微软加载过 jQuery的优点。

JQuery初体验:

在JavaScript中如果我们想改变所有P标签中的内容是我们需要这么写

var page_ps = doucment.getElementsByTagName("p");
for(var i=0;i<page_ps.length;i++)
{

page_ps[i].innerHtml = “abcd”;

}

在JQuery中我们这用简单的一句话就可以了

$("p").html("abcd");

$()等价于JQuery()

JQuery基础选择器

#id选择器

$("#divtest").html("aaa");

元素选择器

$("div").html("abcd")

类选择器

$(".class").html("abcd");

全部选择

$("*")

子孙元素选择器,第一个元素为父元素,第二个为子孙元素。也是说再父元素范围内,只有有label标签就会被选择比如<div><p><>label></label></p></div>也是可以选到的

$("div label")

子元素选择器,相比上面一个,子元素选择器只能选择父元素的直接后代。

$("div>label")

prve+next选择器,用来选择prve后面紧邻的1个元素

$("div+p")

prve~siblings选择器,用来选择prve后面所有同级的siblings

$("p~label")

可以同时精确选择多个元素

$(".class,#id,p")
JQuery过滤性选择器

:first选择第一个子元素

$("div:first")

:eq(index)选择第N个子元素 index从0开始

$("li:eq(3)")

:contains(xxxx)选择文本内容包含xxxx的的元素

$("li:contains(xxx)")

:has(selector)选择包含的有selector的元素,selector可以有单引号,也没有。

$("li:has(p)")

:hidden选择隐藏的元素,例为选择不可以见的P元素

$("p:hidden")

:visible选择display不为none的所有元素

$("li:visible")

[attribute=value]/[attribute!=value]属性选择器,选择属性为/不为value的元素

$("li[title=xxx]")   $("li[title!=xxx]")

[attribute*=value]属性选择器,选择包含有value的元素,下面代码选择就是title为水果、苹果、人参果的li元素

<body>
<li title="水果">11</li>
<li title="苹果">11</li>
<li title="人参果">11</li>
<li title="蔬菜">11</li>
<script>
$("li[title*=果]")
</script>
</body>

:first-child选择其父元素的第一个子元素的集合。需要注意的是如下面的代码,第一个ol中的第一个li会被选取,但是第二个ol中的第一个li却不会被选择,也是就说该方法选择的元素必须是在其父元素的第一个位置上,而不是在其父元素中元素li排序的第一个位置。(讲的可能有乱,最好自己动手实践下,相信一眼就能明白了。)

:last-child跟:first-child方法一样只不过选取的是最有一个元素而已。

<body>
<h3>改变每个"蔬菜水果"中第一行的背景色</h3>
<ol>
<li>芹菜</li>
<li>芹菜</li>
<li>芹菜</li>
<li>芹菜</li>
<li>芹菜</li>
</ol>
<ol>
<p>1111</p>
<li>橘子</li>
<li>橘子</li>
<li>橘子</li>
<li>橘子</li>
</ol>
</body>
<script type="text/javascript"> $("li:first-child").css("background-color", "green"); </script>
表单选择器

表单选择器前面注意加空格,否则无效

:input表单选择器可以实现,它的功能是返回全部的表单元素,不仅包括所有<input>标记的表单元素,而且还包括<textarea>、<select> 和 <button>标记的表单元素,因此,它选择的表单元素是最广的。

$("form :input")

:text获取单行文本输入框元素。

$("form :text")

:password获取密码输入文本框元素。

$("fomr :password")

:radio获取表单中的单选按钮

$("form :radio")

:check获取表单中复选按钮

$("form :checkbox")

:submit提交按钮选择器,IE中button就是button但是其他浏览器不是,所有在使用:submit的时候会连button一起选中,在使用:submit的时候建议使用input:submit的写法

$("form input:submit")

:image图像获取器,这个只能获取input的type=image的图像不能获取<img>标签的图像

$("form :image")

:button按钮选择器,或者input type=button 和<button>两类的按钮。

$("form :button")

:checked获取单选、复选框的选中元素

$("form :checked")

:selec获取<select>下拉列表的处于选中状态的option选项

$("form :selected")
操作DOM元素

attr方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,attr(属性名,属性值)格式则是设置元素属性名的值。

$("div").attr('text')
$("div").attr('text','xxx')

html()/text()两个方法的参数为空时,表示获取该元素的内容,而如果方法中包含参数,则表示将参数值设置为元素内容。html()能获取原文的格式,而text只能获取文本。var $a = <i>adc</i>  在使用html添加$a的时候是斜体的abc,但是text添加的时候则是<i>abc</i>

addClass() css()方法可以方便地操作元素中的样式,前者括号中的参数为增加元素的样式名称,后者直接将样式的属性内容写在括号中。

removeClass(name) removeAttr(class)  移除元素的属性和类name/class 加引号

append(content)方法的功能是向指定的元素中追加内容,被追加的content参数,可以是字符、HTML元素标记,还可以是一个返回字符串内容的函数

(content)appendTo(selector)方法也可以向指定的元素内插入内容.

使用before()after()方法可以在元素的前后插入内容,它们分别表示在整个元素的前面和后面插入指定的元素或内容,调用格式分别为:

$(selector).before(content)$(selector).after(content)

其中参数content表示插入的内容,该内容可以是元素或HTML字符串。

调用clone()方法可以生成一个被选元素的副本,即复制了一个被选元素,包含它的节点、文本和属性,它的调用格式为:

$(selector).clone()

其中参数selector可以是一个元素或HTML内容。

replaceWith()replaceAll()方法都可以用于替换元素或元素中的内容,但它们调用时,内容和被替换元素所在的位置不同,分别为如下所示:

$(selector).replaceWith(content)$(content).replaceAll(selector)

参数selector为被替换的元素,content为替换的内容。

wrap()wrapInner()方法都可以进行元素的包裹,但前者用于包裹元素本身,后者则用于包裹元素中的内容,它们的调用格式分别为:

$(selector).wrap(wrapper)$(selector).wrapInner(wrapper)

参数selector为被包裹的元素,wrapper参数为包裹元素的格式。

使用each()方法可以遍历指定的元素集合,在遍历时,通过回调函数返回遍历元素的序列号,它的调用格式为:

$(selector).each(function(index))

参数function为遍历时的回调函数,index为遍历元素的序列号,它从0开始。

remove()方法删除所选元素本身和子元素,该方法可以通过添加过滤参数指定需要删除的某些元素,而empty()方法则只删除所选元素的子元素.(使用remove删除标签本身,使用empty只是清空该标签,该标签会保留)

JQuery事件与应用

ready()事件类似于onLoad()事件,但前者只要页面的DOM结构加载后便触发,而后者必须在页面全部元素加载成功才触发,ready()可以写多个,按顺序执行。此外,下列写法是相等的:

$(document).ready(function(){})等价于$(function(){});

bind()方法绑定元素的事件非常方便,绑定前,需要知道被绑定的元素名,绑定的事件名称,事件中执行的函数内容就可以,它的绑定格式如下:

$(selector).bind(event,[data] function)

参数event为事件名称,多个事件名称用空格隔开,function为事件执行的函数。

unbind()方法可以移除元素已绑定的事件,它的调用格式如下:

$(selector).unbind(event,fun)

其中参数event表示需要移除的事件名称,多个事件名用空格隔开,fun参数为事件执行时调用的函数名称。

hover()方法的功能是当鼠标移到所选元素上时,执行方法中的第一个函数,鼠标移出时,执行方法中的第二个函数,实现事件的切实效果,调用格式如下:

$(selector).hover(overout);

over参数为移到所选元素上触发的函数,out参数为移出元素时触发的函数。

toggle()方法用来切换显示和隐藏。同事可以设置两个参数,一个是speed,还有一个回调函数

$(selector).toggle()

one()方法可以绑定元素任何有效的事件,但这种方法绑定的事件只会触发一次,它的调用格式如下:

$(selector).one(event,[data],fun)

参数event为事件名称,data为触发事件时携带的数据,fun为触发该事件时执行的函数。

trigger() 方法触发被选元素上指定的事件以及事件的默认行为(比如表单提交)。

$(selector).trigger(event,eventObj,param1,param2,...)

event必需。规定指定元素上要触发的事件。可以是自定义事件,或者任何标准事件。

param1,param2,...可选。传递到事件处理程序的额外参数。额外的参数对自定义事件特别有用。

focus事件在元素获取焦点时触发,如点击文本框时,触发该事件;而blur事件则在元素丢失焦点时触发。

$('#text1').focus(
function(){
$('div').html('哈哈哈哈,获得焦点了。');
})

当一个元素的值发生变化时,将会触发change事件,例如在选择下拉列表框中的选项时,就会触change事件。

$('select').change(
function(){
$(this).css('background-color','red');
})

on() 方法在被选元素及子元素上添加一个或多个事件处理程序。

自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

提示:如需移除事件处理程序,请使用 off() 方法。

提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。

关于这个方法的更多资料,比如以前使用bind现在如何替换成on,可以参考这里:http://www.w3cschool.cc/jquery/event-on.html

JQuery基础总结上的更多相关文章

  1. jQuery基础课程

    环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...

  2. jQuery基础之选择器

    摘自:http://www.cnblogs.com/webmoon/p/3169360.html jQuery基础之选择器 选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Aja ...

  3. jquery基础知识汇总

    jquery基础知识汇总 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQu ...

  4. 【jQuery基础学习】08 编写自定义jQuery插件

    目的:虽然jQuery各种各样的功能已经很完善了,但是我们还是要学会自己去编写插件.这样我们可以去封装一些项目中经常用到的专属的代码,以便后期维护和提高开发效率. jQuery插件的类型: 封装对象方 ...

  5. 【jQuery基础学习】00 序

    作为一个从来没有认真学过jQuery的菜来讲,我所学的都是jQuery基础. 算是让自己从0开始系统学一遍吧.学习书籍为:<锋利的jQuery>. 虽然是个序,表示一下我是个菜,但还是来几 ...

  6. jquery基础教程读书总结

    最近静下心来看书才深刻的体会到:看书真的很重要,只有看书才能让你有心思静下心来思考. 重温<jquery基础教程> 一.事件 主要掌握常见的事件以及理解jquery的事件处理机制. 需要注 ...

  7. 使用jquery插件uploadify上传文件的方法与疑问

    我是学生一枚,专业也不是计算机,但又要用到很多相关技术,所以在技术基础不牢靠的情况下,硬着头皮在做.最近在做一个小项目需要上传图片,而且是需要用ajax的方式.但是利用jquery的ajax方法总会有 ...

  8. jQuery基础---Ajax基础教程(二)

    jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...

  9. jQuery基础---Ajax基础教程

    jQuery基础---Ajax基础 内容提纲: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax ...

随机推荐

  1. Calibre - book library management application

    http://calibre-ebook.com/ Library Management E-book conversion Syncing to e-book reader devices Down ...

  2. 开机报这个错误,然后 adobe软件无法使用

    开机报这个错误,然后 adobe软件无法使用 按照此方法测试,无效,在原基础如下更改   /tmp 是连接文件找到根文件(/private/tmp)删除重新给予权限,重新建立连接恢复正常 使用到的命令 ...

  3. SQLServer解析xml到Oracle

    写了一个程序:根据状态位读取SQLserver 中的一张表,下载其中一个字段的值,这个值是XML类型的,然后把这个XML文件的内容插入到另一Oracle数据库,并更新SQLServer表的标志位,表示 ...

  4. TensorFlow 在android上的Demo(1)

    转载时请注明出处: 修雨轩陈 系统环境说明: ------------------------------------ 操作系统 : ubunt 14.03 _ x86_64 操作系统 内存: 8GB ...

  5. easyui验证

    1.验证是否必填 class="easyui-validatebox" missingMessage="必须填写" 2.验证字符串长度 class=" ...

  6. Reveal for mac延长30天试用的简单方法

    在iOS逆向过程中经常使用Reveal来远程查看iOS平台应用的UI布局,但Reveal有30天使用限制,经常隔一段时间想使用的时候发现已经过期了,如图: 此时在OS X中打开命令行终端,输入以下命令 ...

  7. 使用R进行地图相关的可视化

    Here is a solution using the geosphere and maps package. Using the gcIntermediate function you can & ...

  8. [转] c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求

    在没有做题目中所述的内容的时候,感觉这应该是很简单的东西,但是当真正开始做的时候却发现,有很多问题现在在这里写出来,供和我一样水平不高的参考一下. 在写本文之前参照了一下文章 欢迎使用CSDN论坛阅读 ...

  9. 深入了解 Scala 并发性

    2003 年,Herb Sutter 在他的文章 “The Free Lunch Is Over” 中揭露了行业中最不可告人的一个小秘密,他明确论证了处理器在速度上的发展已经走到了尽头,并且将由全新的 ...

  10. 使用 Eclipse PhoneGap 构建 Android 应用程序入门

    Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...