熟练使用jQuery中的函数,能够大大提高我们的工作效率,jQuery的很多核心功能,也是通过函数实现的。之前51CTO也曾报道过《一些应该熟记于心的jQuery函数和技巧》,而本文将带您了解jQuery的四个核心函数。
jQuery(expression,[context])
这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素。jQuery的核心功能都是通过这个函数实现的。 jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个表达式(通常由 CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。
默认情况下, 如果没有指定context参数,$()将在当前的 HTML 文档中查找 DOM 元素;如果指定了 context 参数,如一个 DOM 元素集或 jQuery 对象,那就会在这个 context 中查找。
参数:
expression (String) : 用来查找的字符串
context (Element, jQuery) : (可选) 作为待查找的 DOM 元素集、文档或jQuery对象。
示例
找到所有p元素,并且这些元素都必须是 div 元素的子元素。
HTML代码:
<p>one</p> <div><p>two</p></div> <p>three</p>
jQuery代码:
$("div > p");
结果:
[ <p>two</p> ]
在文档的第一个表单中,查找所有的单选按钮(即: type 值为 radio 的 input 元素)。
jQuery代码:
$("input:radio", document.forms[0]);
在一个由AJAX返回的 XML 文档中,查找所有的div元素。
jQuery代码:
$("div", xml.responseXML);
-----------------------------------------------------------------------------------------------------------------
jQuery(html,[ownerDocument])
根据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的DOM元素。你可以传递一个手写的 HTML 字符串,或者由某些模板引擎或插件创建的字符串,也可以是通过 AJAX 加载过来的字符串。但是在你创建 input 元素的时会有限制,可以参考第二个示例。
当然这个字符串可以包含斜杠 (比如一个图像地址),还有反斜杠。当你创建单个元素时,请使用闭合标签或 XHTML 格式。例如,创建一个 span ,可以用 $("<span/>") 或 $("<span></span>") ,但不推荐 $("<span>")。在jQuery 中,这个语法等同于$(document.createElement("span")) 。
参数:
html (String) : 用于动态创建DOM元素的HTML标记字符串
ownerDocument (Document) : 可选,创建DOM元素所在的文档
示例:
动态创建一个 div 元素(以及其中的所有内容),并将它追加到 body 元素中。在这个函数的内部,是通过临时创建一个元素,并将这个元素的 innerHTML 属性设置为给定的标记字符串,来实现标记到 DOM 元素转换的。所以,这个函数既有灵活性,也有局限性。
jQuery代码:
$("<div><p>Hello</p></div>").appendTo("body");
创建一个 <input> 元素必须同时设定 type 属性。因为微软规定 <input> 元素的 type 只能写一次。
jQuery代码:
// 在 IE 中无效:
$("<input>").attr("type", "checkbox");
// 在 IE 中有效:
$("<input type='checkbox'>");
--------------------------------------------------------------------------------------------------------------------------------------------
jQuery(elements)
将一个或多个DOM元素转化为jQuery对象。这个函数也可以接收XML文档和Window对象(虽然它们不是DOM元素)作为有效的参数。
参数
elements (Element, Array<Element>) : 用于封装成jQuery对象的DOM元素
示例:
设置页面背景色。
jQuery代码:
$(document.body).css( "background", "black" );
隐藏一个表单中所有元素。
jQuery代码:
$(myForm.elements).hide()
-------------------------------------------------------------------------------------------------------------------------------------------
jQuery(callback)
$(document).ready()的简写。允许你绑定一个在DOM文档载入完成后执行的函数。这个函数的作用如同$(document).ready()一样,只不过用这个函数时,需要把页面中所有需要在 DOM 加载完成时执行的$()操作符都包装到其中来。从技术上来说,这个函数是可链接的--但真正以这种方式链接的情况并不多。
你可以在一个页面中使用任意多个$(document).ready事件。
参数:
callback (Function) : 当DOM加载完成后要执行的函数
示例:
当DOM加载完成后,执行其中的函数。
jQuery 代码:
$(function(){
// 文档就绪
});
使用$(document).ready() 的简写,同时内部的jQuery代码依然使用 $ 作为别名,而不管全局的 $ 为何。
jQuery 代码:
jQuery(function($) {
// 你可以在这里继续使用$作为别名...
});