Jquery复习(十)之$的用法

较特殊用法

使用原始 HTML 的字符串来创建 DOM 元素:jQuery(html,[ownerDocument])

创建新的元素

语法

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>");

参考

w3school jQuery 核心 - jQuery() 方法

posted @ 2020-01-03 16:33  坤嬷嬷  阅读(549)  评论(0编辑  收藏  举报