本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— jQuety
实例
找出全部属于 div 元素的子元素的 p 元素,而后设置其边框属性:css
[code]$("div > p")
.css("border", "1px solid gray");[/code]
定义和用法
jQuery() 方法接受一个字符串,其中包含了用于匹配元素集合的 CSS 选择器。
jQuery() 函数有三种语法:语法 1
接受一个字符串,其中包含了用于匹配元素集合的 CSS 选择器:html
jQuery([i]selector[/i], [[i]context[/i]])
详细用法语法 2
使用原始 HTML 的字符串来建立 DOM 元素:jquery
jQuery([i]html[/i],[[i]ownerDocument[/i]])
详细用法语法 3
绑定一个在 DOM 文档载入完成后执行的函数:浏览器
jQuery( callback )
详细用法
jQuery( selector, [ context ] )
该语法有如下几种用法:用法 1 :设置选择器环境语法app
jQuery([i]selector[/i], [[i]context[/i]])
默认状况下,选择器从文档根部对 DOM 进行搜索。不过,能够为 $() 设置可选的 context 参数。
例如,若是咱们但愿在一个 callback 中搜索一个元素,能够限定下面的搜索:实例ide
$("div.foo").click(function() { [code]$("span", this)
.addClass("bar");
});
[/code]
因为咱们已经将 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([i]element[/i])
该函数容许咱们经过使用以其余方式找到的 DOM 元素来建立 jQuery 对象。该功能一般的用法是,对已经经过 this 关键字传递到 callback 函数的元素调用 jQuery 的方法:实例动画
$([code]"div.foo"
).click(function() {
$(this).slideUp();
});
[/code]
此例会在元素被点击时使用滑动动画对其进行隐藏。因为处理程序接受的 this 关键词中的被点击项目是纯的 DOM 元素,所以在对其调用 jQuery 的方法以前,必须用 jQuery 对象包装该元素。
这个函数也能够接收 XML 文档和 Window 对象(虽然它们不是 DOM 元素)做为有效的参数。
当 XML 数据从 Ajax 调用中返回后,咱们可使用 $() 函数经过 jQuery 对象包装该数据。一旦完成,咱们就可使用 .find() 和其余 DOM 遍历方法来取回 XML 结构中单个元素。用法 3 :克隆 jQuery 对象语法this
jQuery([i]jQuery object[/i])
当以参数的形式向 $() 函数传递 jQuery 对象后,会建立一个该对象的副本。与初始对象同样,新的 jQuery 对象引用相同的 DOM 元素。用法 4 :返回空的集合语法spa
jQuery()
对于 jQuery 1.4,调用无参数的 jQuery() 方法会返回空的 jQuery 集合。在以前版本的 jQuery 中,这样会返回包含 document 节点的集合。
jQuery( html, [ ownerDocument ] )
该语法有如下几种用法:用法 1 :建立新的元素语法
jQuery([i]html[/i],[[i]ownerDocument[/i]])
你能够传递一个手写的 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([i]html[/i],[i]props[/i])
对于 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(){ // 文档就绪 });