jQuery四大天王:核心函数详解

发表于:2011-1-24 10:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java
#
JAVA
#
Java
#
jquery
#
jQuery

  熟练使用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'>");

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号