加载中...

appendTo()


概述    .appendTo( target )

返回值:jQuery

描述:将匹配的元素插入到目标元素的最后面(译者注:内部插入)。

  • V : 1.0.appendTo( target )

    • target
      类型: Selector, Element, jQuery
      一个选择符,元素,HTML字符串,DOM元素数组,或者jQuery对象;符合的元素们会被插入到由参数指定的目标的末尾。

.append().appendTo()两种方法功能相同,主要的不同是语法——内容和目标的位置不同。对于.append(), 选择表达式在函数的前面,参数是将要插入的内容。对于.appendTo()刚好相反,内容在方法前面,无论是一个选择器表达式 或创建作为标记上的标记,它都将被插入到目标容器的末尾。

请看下面的HTML:

  1. <h2>Greetings</h2>
  2. <div class="container">
  3. <div class="inner">Hello</div>
  4. <div class="inner">Goodbye</div>
  5. </div>

我们可以创建内容然后同时插入到好几个元素里面:

  1. $('<p>Test</p>').appendTo('.inner');

每个新的inner <div> 元素会得到新的内容:

  1. <h2>Greetings</h2>
  2. <div class="container">
  3. <div class="inner">
  4. Hello
  5. <p>Test</p>
  6. </div>
  7. <div class="inner">
  8. Goodbye
  9. <p>Test</p>
  10. </div>
  11. </div>

我们也可以在页面上选择一个元素然后插在另一个元素里面:

  1. $('h2').appendTo($('.container'));

如果这种方式选择的元素被插入到一个DOM中单一的位置的地方(手册网注:文档中只有一个目标元素),它将被移动到目标中(不是克隆),并返回一组新的插入后的元素集合:

  1. <div class="container">
  2. <div class="inner">Hello</div>
  3. <div class="inner">Goodbye</div>
  4. <h2>Greetings</h2>
  5. </div>

然而,如果有多个目标元素,插入元素的克隆副本被创建到每个目标元素,而不是只插入到最后一个目标元素,并且新的集合(原始元素加克隆元素)被返回。

在jQuery 1.9以前,追加到单个元素的情况下没有创建一个新的集合,而是返回原来的集合,当被用与数目不详的元素时,使得它难以可靠地使用.end()方法。

其他注意事项:

  • 设计上,任何jQuery的构造或方法,都接受一个HTML字符串(作为参数) - jQuery(),.append(), .after()等 -可以潜在地执行代码。这可能会出现注入script标签或使用HTML属性执行的代码(例如,<img onload="">)。不要使用这些方法来插入来自不受信任来源的内容,如网址查询参数,Cookie或表单输入获得的字符串。这样做可能会引起跨站点脚本(XSS)漏洞。将内容添加到文档之前删除或避免用户任何输入内容。
  • jQuery没有正式的支持SVG。在SVG文档上使用jQuery方法,除非该方法有明确的说明,否则可能会导致意外的行为。例如jQuery 3.0中支持SVG的方法有addClassremoveClass

示例

实例

把所有段落追加到ID值为foo的元素中。

HTML 代码:
  1. <p>I would like to say: </p>
  2. <div></div><div></div>
jQuery 代码:
  1. $("p").appendTo("div");
结果:
  1. <div><p>I would like to say: </p></div>
  2. <div><p>I would like to say: </p></div>

实例

新建段落追加div中并加上一个class

HTML 代码:
  1. <div></div><div></div>
jQuery 代码:
  1. $("<p/>")
  2. .appendTo("div")
  3. .addClass("test")
  4. .end()
  5. .addClass("test2");
结果:
  1. <div><p class="test test2"></p></div>
  2. <div><p class="test"></p></div>

实例

将所有的 span 插入到 ID 为 "foo" 的元素内的末尾。

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>appendTo demo</title>
  6. <style>
  7. #foo {
  8. background: yellow;
  9. }
  10. </style>
  11. <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  12. </head>
  13. <body>
  14. <span>I have nothing more to say... </span>
  15. <div id="foo">FOO! </div>
  16. <script>
  17. $( "span" ).appendTo( "#foo" );
  18. </script>
  19. </body>
  20. </html>

运行一下


还没有评论.