jQuery基础学习笔记

一、             获取想要的元素的格式

注意每条语句都需要”;”

$(“p”).hide(); 获取HTML元素,并隐藏

$(“.class”).hide();获取class=”class”的元素,并隐藏

$(“#id”).hide();获取id=”id”的元素,隐藏

$(this).hide();获取该元素,比如$(“botton”).click(function(){$(this).hide();});隐藏了按钮

二、             jq是解释型语言还是编译型语言?

解释型语言就是在程序运行时,每一次都要通过解释程序(实际上IE也是)把它们解释成为计算机可以识别的二进制语言,aspphpVbScript等等。而编译型语言则是指程序一次性编译后直接生成二进制可执行文件,则在下次运行时便可直接执行,如asp.net,C,C++等等。两者最大的区别是解释型语言在每一次执行时,都要经过解释程序,会额外消耗CPU和内存的。解释语言又分为两种,即客户端脚本语言和服务器端语言,两者之间的区别主要是客户端脚本语言;就是该语言是在客户端运行的,也就是在我们上网的电脑上运行的,如javaScript,VBScript等;而服务器语言则运行在服务器端,即运行在放网站的服务器上,如asp,php,jsp等等。要注意的是,aspasp.net两者有着本质的区别,asp.net为编译型语言,而asp为解释型语言。

三、             $(“div#intro.head”)选取哪个元素?

Id=”intro”的首个div的class=”head”的所有元素

四、             $(“div.intro”)能够选取的元素是?

Class=”intro”的所有div元素

五、             jquery包括以下特性


1.      HTML元素获取

2.      HTML元素操作

3.      CSS操作

4.      HTML事件函数

5.      javascrip特效与动画

6.      HTML DOM遍历和修改

7.      AJAX

8.      Utilities


六、             引用jquery,<script>标签应该在<head>里

1.      下载jquery库

<head>

       <scriptsrc=”jquery.js”/>

</head>

2.      如果您不希望下载并存放 jQuery,那么也可以通过 CDN(内容分发网络) 引用它。

谷歌和微软的服务器都存有jQuery 。

//谷歌

<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">

</script>

</head>

//微软

<head>

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js">

</script>

</head>

七、             文档就绪函数$(document).ready(function(){});

外层是<scripttype=”text/javascript”><script>

$(document).ready(function(){

 

--- jQueryfunctions go here ----

 

});

这是防止在文件完全加载之前就运行jquery代码

八、             jQuery选择器

1.      jQuery元素选择器,实际是通过CSS选择器

jQuery 使用 CSS 选择器来选取 HTML 元素。

$("p")选取 <p> 元素。

$("p.intro")选取所有 class="intro" 的 <p> 元素。

$("p#demo")选取所有 id="demo" 的 <p> 元素。

 

2.      jQuery属性选择器

jQuery 使用 XPath 表达式来选择带有给定属性的元素。

$(“[href=’#’]”)选取属性href=‘#’的元素

$("[href='#']")选取所有带有 href 值等于"#" 的元素。

$("[href!='#']")选取所有带有 href 值不等于"#" 的元素。

$("[href$='.jpg']")选取所有 href 值以".jpg" 结尾的元素。

 

3.      jQueryCSS选择器

jQuery CSS 选择器可用于改变HTML 元素的 CSS 属性。

$("p").css("background-color","red");

九、             jQuery命名冲突

jQuery 使用 $ 符号作为 jQuery 的简介方式。

某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。

jQuery 使用名为 noConflict() 的方法来解决该问题。

var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。

十、             jQuery效果

1.       隐藏和显示

Speed和callback可以为空

1.1.  hide(speed,callback); speed:”fast”;”slow”;xxxms前两个要双引号fast,slow

2.1.  show(speed,callback);

3.1.  toggle(speed,callback);

2.      淡入淡出

1.1.  $(selector).fadeout(speed,callback)淡出

可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

可选的 callback 参数是 fading 完成后所执行的函数名称。

下面的例子演示了带有不同参数的 fadeOut() 方法:

$("button").click(function(){
  $("#div1").fadeOut();
  $("#div2").fadeOut("slow");
  $("#div3").fadeOut(3000);
});

2.1.  fadeIn()

3.1.  fadeToggle()

4.1.  fadeTo(speed,opacity,callback)

3.      滑动

1.1.  slideDown();

2.1.  slideUp()

3.1.  slideToggle()

4.      动画

1.1.  $(selector).animate({params},speed,callback);//向paramsCSS属性渐变的一个过程

实例

$("button").click(function(){
$("div").animate({left:'250px'});//大括号里写CSS样式,单引号(JSP基本都是单引号),CSS样式用(逗号)隔开;
}); 

2.1.  操作多个样式

实例

$("button").click(function(){
  $("div").animate({
    left:'250px',
    opacity:'0.5',
    height:'150px',
    width:'150px'
  });
}); 

3.1.  使用队列功能,动画队列排序响应

默认地,jQuery 提供针对动画的队列功能。

这意味着如果您在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。然后逐一运行这些 animate 调用。

实例 1

隐藏,如果您希望在彼此之后执行不同的动画,那么我们要利用队列功能:

$("button").click(function(){
  var div=$("div");
  div.animate({height:'300px',opacity:'0.4'},"slow");
  div.animate({width:'300px',opacity:'0.8'},"slow");
  div.animate({height:'100px',opacity:'0.4'},"slow");
  div.animate({width:'100px',opacity:'0.8'},"slow");
});

 

5.      stop(stopAll,goToEnd)

"开始" 按钮会启动动画。

"停止" 按钮会停止当前活动的动画,但允许已排队的动画向前执行。Stop()

"停止所有" 按钮停止当前活动的动画,并清空动画队列;因此元素上的所有动画都会停止。(画面停滞在当前动画),stop(true)

"停止但要完成" 会立即完成当前活动的动画,然后停下来。(画面立即停滞在最后那个动画)stop(true,true)

“Stop(false,true)”会立刻停止当前活动的动画,然后执行下一个动画队列

 

6.      Callback

即是之前很多函数里面的callback,用的时候比如function(){}=callback;即是等待该函数执行完毕再执行callback的方法

当动画 100% 完成后,即调用 Callback 函数。

典型的语法:

$(selector).hide(speed,callback)

callback 参数是一个在 hide 操作完成后被执行的函数。

错误(没有 callback)

$("p").hide(1000);
alert("The paragraph is now hidden");

亲自试一试

正确(有 callback)

$("p").hide(1000,function(){
alert("The paragraph is now hidden");
});

 

7.      Chaining

JQuery允许我们在同一条语句上多个jquery方法(在相同的元素上)

下面的例子把 css(), slideUp(), and slideDown() 链接在一起。"p1" 元素首先会变为红色,然后向上滑动,然后向下滑动:

$("#p1").css("color","red").slideUp(2000).slideDown(2000);

十一、  Jquery HTML

jQuery DOM 操作

jQuery 中非常重要的部分,就是操作 DOM 的能力。

jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。

提示:DOM = Document ObjectModel(文档对象模型)

DOM 定义访问 HTML 和 XML 文档的标准:

“W3C 文档对象模型独立于平台和语言的界面,允许程序和脚本动态访问和更新文档的内容、结构以及样式。”

 

1.     jquery获取设置DOM

1.        text(“xxx”) 设置或text()返回所选元素的文本内容(不包括标签),注意是所选元素

2.        html(“xxx”) 设置或html()返回所选元素的内容,包括该元素里面的HTML标记

3.        val(“xxx”)  设置或val()返回所选表单的字段的值

注意1:用text(“xxx”)和html(“xxx”)设置内容,如果内容含有新的标签,如<p></p>,则需要用html(“xxx”)来设置,若用text(“xxx”),则里面的标签会带有转换字符显示在html页面。

注意2:用text(“xxx”)和html(“xxx”)设置内容都会把该元素所有内容包括标签换成xxx;

 

 

 

4.        attr(“href”)  获取属性值

attr(“href”,”xxx”)设置属性值

 

 

下面的例子演示如何改变(设置)链接中 href 属性的值:

实例

$("button").click(function(){
  $("#w3s").attr("href","http://www.w3school.com.cn/jquery");
});

亲自试一试

attr() 方法也允许您同时设置多个属性。

下面的例子演示如何同时设置 href 和 title 属性:

实例

$("button").click(function(){
  $("#w3s").attr({
    "href" : "http://www.w3school.com.cn/jquery",
    "title" : "W3School jQuery Tutorial"
  });
});

 

1.      添加元素

添加新的 HTML 内容,注意这是可以添加HTML的(标签)

我们将学习用于添加新内容的四个 jQuery 方法:

·                append() - 在被选元素的结尾插入内容 被选标签里面的结尾,如<p><li>

·                prepend() - 在被选元素的开头插入内容 被选标签里面的前面,如<p><li>

·                after() - 在被选元素之后插入内容    被选标签外面的结尾,如<img>(不能在标签里面写内容)

·                before() - 在被选元素之前插入内容  被选标签外面的前面,如<img>(不能在标签里面写内容)

 

function afterText()

{

var txt1="<b>I </b>";                    // HTML 创建新元素

var txt2=$("<i></i>").text("love ");     //通过 jQuery 创建新元素,在$(“xxx”)中创建

var txt3=document.createElement("p");  //通过 DOM 创建新元素,document.createElement(“x”)x是标签名,如p<p></p>,b<b></p>

txt3.innerHTML="jQuery!";

$("img").after(txt1,txt2,txt3);          // img 之后插入新元素

}

2.      删除元素

 

1.        删除元素/内容

如需删除元素和内容,一般可使用以下两个 jQuery 方法:

·                remove() - 删除被选元素(及其子元素)

·                empty() - 从被选元素中删除子元素

顾名思义,很简单的两个方法

 

2.        过滤被删除的元素

jQueryremove() 方法也可接受一个参数,允许您对被删元素进行过滤。

该参数可以是任何 jQuery 选择器的语法。

下面的例子删除 class="italic" 的所有 <p> 元素:

实例

$("p").remove(".italic");

3.      获取并设置CSS类

注意:$(“p,div,h1”)如此可选多个元素

1.        addClass()    向可选元素添加一个或者多个addClass(“xxx yyy”) css的class样式

2.        removeClass() 向可选元素移除一个或者多个类removeClass(“xxx yyy”)(空格隔开)

3.        toggleClass()  向可选元素切换该样式

4.        css(“propername”)        

4.1.  返回被选元素的一个样式属性。(匹配的首个元素

下面的例子将返回首个匹配元素的 background-color 值:

实例

$("p").css("background-color");

5.1.  设置一个CSS属性(所有匹配元素

如需设置指定的 CSS 属性,请使用如下语法:

css("propertyname","value");

下面的例子将为所有匹配元素设置 background-color 值:

实例

$("p").css("background-color","yellow");

6.1.  设置多个 CSS 属性(所有匹配元素

如需设置多个 CSS 属性,请使用如下语法:

css({"propertyname":"value","propertyname":"value",...});

下面的例子将为所有匹配元素设置 background-color 和 font-size:

实例

$("p").css({"background-color":"yellow","font-size":"200%"});

4.      jQuery尺寸

jQuery 提供多个处理尺寸的重要方法:

·                width()//不包括内外边距和边框宽度

·                height()

·                innerWidth()//包括内边距,但不包括外边距和边框宽度

·                innerHeight()

·                outerWidth()//包括内边距,边框宽度,不包括外边距

·                outerHeight()

·                outerWidth(true)//包括内外边距和边框宽度

·                outerHeight(true)

下面的例子设置指定的 <div> 元素的宽度和高度:

实例

$("button").click(function(){
  $("#div1").width(500).height(500); });

jQuery- 更多的 width() 和 height()

下面的例子返回文档(HTML 文档)和窗口(浏览器视口)的宽度和高度:

实例

$("button").click(function(){
  var txt="";
  txt+="Document width/height: " + $(document).width();
  txt+="x" + $(document).height() + "\n";
  txt+="Window width/height: " + $(window).width();
  txt+="x" + $(window).height();
  alert(txt);
});

十二、  jQuery遍历

1.      jQuery遍历

遍历父节点,子节点获取元素

十三、  AJAX(Asynchronousjavascript and xml)异步javascript 和 xml

1.      XHR创建对象(XMLHttpRequest)

XMLHttpRequest是AJAX的基础

Var xmlhttp=new XMLHttpRequest();//当你是用ie7+,fireFOX,chorme,opera,safari浏览器时

否则,如果你使用ie6,ie5,则需要使用ActiveXObject

xmlhttp=newActiveXObject("Microsoft.XMLHTTP");

 

详细代码:

varxmlhttp;

if(window.XMLHttpRequest)

  {// code for IE7+, Firefox, Chrome, Opera,Safari

  xmlhttp=new XMLHttpRequest();

  }

else

  {// code for IE6, IE5

  xmlhttp=newActiveXObject("Microsoft.XMLHTTP");

  }

 

2.      XHR请求

XMLHttpRequest 对象用于和服务器交换数据。

发送请求到服务器,需要用到open(),send()

1.        GET请求

xmlhttp.open("GET","test1.txt",true);

xmlhttp.send();

方法

描述

open(method,url,async)

规定请求的类型、URL 以及是否异步处理请求。

·                        method:请求的类型;GET 或 POST

·                        url:文件在服务器上的位置

·                        async:true(异步)或 false(同步)

send(string)

将请求发送到服务器。

·                        string:仅用于 POST 请求

与post相比,get更简单也更快,然而在以下情况请用post

1.        不想用缓存时(更新服务器上的文件和数据)

2.        向服务器发送大量数据时(post没有数据量限制)

3.        发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

一个简单的 GET 请求:

xmlhttp.open("GET","demo_get.asp",true);
xmlhttp.send();

亲自试一试

在上面的例子中,您可能得到的是缓存的结果。

为了避免这种情况,请向 URL 添加一个唯一的 ID:

xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true);
xmlhttp.send();

如果您希望通过 GET 方法发送信息,请向 URL 添加信息:

xmlhttp.open("GET","demo_get2.asp?fname=Bill&lname=Gates",true);
xmlhttp.send();

 

2.        POST请求

一个简单 POST 请求:

xmlhttp.open("POST","demo_post.asp",true);

xmlhttp.send();

3.      XHR响应

服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML属性。

属性

描述

responseText

获得字符串形式的响应数据。

responseXML

获得 XML 形式的响应数据。

responseText属性

如果来自服务器的响应并非 XML,请使用responseText 属性。

responseText属性返回字符串形式的响应,因此您可以这样使用:

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

亲自试一试

responseXML属性

如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性:

请求 books.xml 文件,并解析响应:

xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
  {
  txt=txt + x[i].childNodes[0].nodeValue + "<br />";
  }
document.getElementById("myDiv").innerHTML=txt;

4.      onreadystatechange事件

当请求被发送到服务器时,我们需要执行一些基于响应的任务。

每当 readyState 改变时,就会触发onreadystatechange 事件。

readyState 属性存有 XMLHttpRequest 的状态信息。

下面是 XMLHttpRequest 对象的三个重要的属性:

属性

描述

onreadystatechange

存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

·                        0: 请求未初始化

·                        1: 服务器连接已建立

·                        2: 请求已接收

·                        3: 请求处理中

·                        4: 请求已完成,且响应已就绪

status

200: "OK"

404: 未找到页面

在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。

当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }

注释:onreadystatechange 事件被触发 5 次(0 - 4),对应着 readyState 的每个变化。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 jQuery 的事件,我可以和你分享一些学习笔记。 1. 绑定事件 在 jQuery 中,我们可以通过以下方式来绑定事件: ``` $(selector).event(function(){ // 事件处理程序 }) ``` 其中,`selector` 表示要绑定事件的元素,`event` 表示要绑定的事件类型,比如 `click`、`mouseover` 等等。事件处理程序则是在事件触发时要执行的代码块。 2. 多个事件绑定 我们可以通过 `on()` 方法来同时绑定多个事件: ``` $(selector).on({ event1: function(){ // 事件处理程序1 }, event2: function(){ // 事件处理程序2 } }) ``` 这样,当 `event1` 或 `event2` 中任意一个事件触发时,对应的处理程序都会被执行。 3. 解除事件 如果需要解除某个元素的事件处理程序,可以使用 `off()` 方法: ``` $(selector).off(event); ``` 其中,`event` 表示要解除的事件类型。如果不指定事件类型,则会解除该元素上所有的事件处理程序。 4. 事件委托 在 jQuery 中,我们可以使用事件委托来提高性能。事件委托是指将事件绑定到父元素上,而不是绑定到子元素上,然后通过事件冒泡来判断是哪个子元素触发了该事件。这样,当子元素数量较多时,只需要绑定一次事件,就可以监听到所有子元素的事件。 ``` $(selector).on(event, childSelector, function(){ // 事件处理程序 }) ``` 其中,`selector` 表示父元素,`event` 表示要绑定的事件类型,`childSelector` 表示要委托的子元素的选择器,事件处理程序则是在子元素触发事件时要执行的代码块。 以上是 jQuery 中事件的一些基本操作,希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值