jQuery教程总结

Jquery教程css

结论html

因为 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循如下原则时,您的代码会更恰当且更易维护:jquery

  • 把全部 jQuery 代码置于事件处理函数中
  • 把全部事件处理函数置于文档就绪事件处理器中
  • 把 jQuery 代码置于单独的 .js 文件中
  • 若是存在名称冲突,则重命名 jQuery 库

文档就绪函数浏览器

您也许已经注意到在咱们的实例中的全部 jQuery 函数位于一个 document ready 函数中:app

$(document).ready(function(){dom

--- jQuery functions go here ----ide

});函数

这是为了防止文档在彻底加载(就绪)以前运行 jQuery 代码。动画

若是在文档没有彻底加载以前就运行函数,操做可能失败。下面是两个具体的例子:this

  • 试图隐藏一个不存在的元素
  • 得到未彻底加载的图像的大小

 

经过 jQuery,您能够把动做/方法连接起来。

Chaining 容许咱们在一条语句中容许多个 jQuery 方法(在相同的元素上)。

jQuery 方法连接

直到如今,咱们都是一次写一条 jQuery 语句(一条接着另外一条)。

不过,有一种名为连接(chaining)的技术,容许咱们在相同的元素上运行多条 jQuery 命令,一条接着另外一条。

提示:这样的话,浏览器就没必要屡次查找相同的元素。

如需连接一个动做,您只需简单地把该动做追加到以前的动做上。

例子 1

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

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

若是须要,咱们也能够添加多个方法调用。

提示:当进行连接时,代码行会变得不好。不过,jQuery 在语法上不是很严格;您能够按照但愿的格式来写,包含折行和缩进。

例子 2

这样写也能够运行:

$("#p1").css("color","red")
  .slideUp(2000)
  .slideDown(2000);
jQuery 会抛掉多余的空格,并按照一行长代码来执行上面的代码行。

 

jQuery 拥有可操做 HTML 元素和属性的强大方法。

jQuery DOM 操做

jQuery 中很是重要的部分,就是操做 DOM 的能力。

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

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

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

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

得到内容 - text()、html() 以及 val()

三个简单实用的用于 DOM 操做的 jQuery 方法:

  • text() - 设置或返回所选元素的文本内容
  • html() - 设置或返回所选元素的内容(包括 HTML 标记)
  • val() - 设置或返回表单字段的值

下面的例子演示如何经过 jQuery text() 和 html() 方法来得到内容:

实例

$("#btn1").click(function(){
  alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
  alert("HTML: " + $("#test").html());
});

 

下面的例子演示如何经过 jQuery val() 方法得到输入字段的值:

实例

$("#btn1").click(function(){
  alert("Value: " + $("#test").val());
});

 

获取属性 - attr()

jQuery attr() 方法用于获取属性值。

下面的例子演示如何得到连接中 href 属性的值:

实例

$("button").click(function(){
  alert($("#w3s").attr("href"));
});

亲自试一试

下一章会讲解如何设置(改变)内容和属性值。

 

 

jQuery( selector, [ context ] )

该语法有如下几种用法:

用法 1 :设置选择器环境

语法

jQuery(selector, [context])

默认状况下,选择器从文档根部对 DOM 进行搜索。不过,能够为 $() 设置可选的 context 参数。

例如,若是咱们但愿在一个 callback 中搜索一个元素,能够限定下面的搜索:

实例

$("div.foo").click(function() {
  $("span", this).addClass("bar");
});

因为咱们已经将 span 选择器限定到 this 这个环境中,只有被点击元素中的 span 会获得附加的 class。

在内部,选择器环境是经过 .find() 方法实现的,所以 $("span", this) 等价于 $(this).find("span")。

jQuery 的核心功能都是经过这个函数实现的。jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个表达式(一般由 CSS 选择器组成),而后根据这个表达式来查找全部匹配的元素。

默认状况下, 若是没有指定 context 参数,$() 将在当前的 HTML document 中查找 DOM 元素;若是指定了 context 参数,如一个 DOM 元素集或 jQuery 对象,那就会在这个 context 中查找。在 jQuery 1.3.2 之后,其返回的元素顺序等同于在 context 中出现的前后顺序。

用法 2 :使用 DOM 元素

语法

jQuery(element)

该函数容许咱们经过使用以其余方式找到的 DOM 元素来建立 jQuery 对象。该功能一般的用法是,对已经经过 this 关键字传递到 callback 函数的元素调用 jQuery 的方法:

实例

$("div.foo").click(function() {
  $(this).slideUp();
});

此例会在元素被点击时使用滑动动画对其进行隐藏。因为处理程序接受的 this 关键词中的被点击项目是纯的 DOM 元素,所以在对其调用 jQuery 的方法以前,必须用 jQuery 对象包装该元素。

这个函数也能够接收 XML 文档和 Window 对象(虽然它们不是 DOM 元素)做为有效的参数。

当 XML 数据从 Ajax 调用中返回后,咱们可使用 $() 函数经过 jQuery 对象包装该数据。一旦完成,咱们就可使用 .find() 和其余 DOM 遍历方法来取回 XML 结构中单个元素。

用法 3 :克隆 jQuery 对象

语法

jQuery(jQuery object)

当以参数的形式向 $() 函数传递 jQuery 对象后,会建立一个该对象的副本。与初始对象同样,新的 jQuery 对象引用相同的 DOM 元素。

用法 4 :返回空的集合

语法

jQuery()

对于 jQuery 1.4,调用无参数的 jQuery() 方法会返回空的 jQuery 集合。在以前版本的 jQuery 中,这样会返回包含 document 节点的集合。

jQuery( html, [ ownerDocument ] )

该语法有如下几种用法:

用法 1 :建立新的元素

语法

jQuery(html,[ownerDocument])

你能够传递一个手写的 HTML 字符串,或者由某些模板引擎或插件建立的字符串,也能够是经过 AJAX 加载过来的字符串。可是在你建立 input 元素的时会有限制,能够参考第二个示例。

固然这个字符串能够包含斜杠 (好比一个图像地址),还有反斜杠。当你建立单个元素时,请使用闭合标签或 XHTML 格式。例如,建立一个 span ,能够用 $("<span/>") 或 $("<span></span>") ,但不推荐 $("<span>")。在 jQuery 中,这个语法等同于 $(document.createElement("span"))。

若是以参数的形式将字符串传递给 $(),jQuery 会检查字符串是不是 HTML (好比,字符串某些位置存在标签)。若是不是,则把字符串解释为选择器表达式,请见上面的讲解。但若是字符串是 HTML 片断,则 jQuery 试图建立由该 HTML 片断描述的 DOM 元素。而后会建立并返回一个引用这些 DOM 元素的 jQuery 对象:

实例

$("<p id="test">My <em>new</em> text</p>").appendTo("body");

若是 HTML 片断比不含属性的简单标签更复杂,如同上面例子中的 HTML,那么元素实际的建立过程是由浏览器的 innerHTML 机制完成的。具体地讲,jQuery 会建立新的 <div> 元素,而后为传入的 HTML 片断设置元素的 innerHTML 属性。当参数只是简单的标签,好比$("<img />") 或 $("<a></a>"),jQuery 会经过内生的 JavaScript createElement() 函数来建立元素。

要确保跨平台兼容性,片断的结构必须良好。可以包含其余元素的标签必须成对出现(带有关闭标签):

$("<a href="http://jquery.com"></a>");

不过,jQuery 也容许相似 XML 的标签语法:

$("<a/>");

没法包含其余元素的标签能够关闭,也能够不关闭:

$("<img />");
$("<input>");

用法 2 :设置属性和事件

语法

jQuery(html,props)

对于 jQuery 1.4,咱们能够向第二个参数传递一个属性映射。该参数接受可以传递给 .attr() 方法的属性的超集。此外,能够传递任意的事件类型,并能够调用下面的 jQuery 方法:val, css, html, text, data, width, height, or offset.

注意,Internet Explorer 不容许你建立 input 元素并改变其类型;您必须使用例如 "<input type="checkbox" />" 来规定类型。

实例

建立一个 <input> 元素,同时设定 type 属性、属性值,以及一些事件。

$("<input>", {
  type: "text",
  val: "Test",
  focusin: function() {
    $(this).addClass("active");
  },
  focusout: function() {
    $(this).removeClass("active");
  }
}).appendTo("form");

jQuery( callback )

容许你绑定一个在 DOM 文档载入完成后执行的函数。

该函数的做用如同 $(document).ready() 同样,只不过用这个函数时,须要把页面中全部须要在 DOM 加载完成时执行的其余 $() 操做符都包装到其中来。尽管从技术上来讲,这个函数是可连接的,但真正以这种方式连接的状况并很少。

例子

当DOM加载完成后,执行其中的函数:

$(function(){   // 文档就绪 });

相关文章
相关标签/搜索