熟练使用jQuery中的函数,能够大大提高我们的工作效率,jQuery的很多核心功能,也是通过函数实现的。之前51Testing也曾报道过《一些应该熟记于心的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'>");