当前位置:   article > 正文

JS或JQuery动态创建Html元素的一些方法_jq动态创建元素

jq动态创建元素

JS动态创建元素:

一、document.createElement

说明:在选定元素(父元素)内部的最后末尾追加创建新元素,DOM结构存在新元素节点,可正常渲染显示,但网页源码中无新元素代码;删除时,先获取父元素,使用父元素的remove方法;元素从DOM中删除,删除后,无法再获取。

  1. //父元素
  2. var jsDiv = document.getElementById("jsc");
  3. var p = document.createElement("p");
  4. p.id = "newp1";
  5. p.style.color = "red";
  6. p.innerText = "html字符串直接生成";
  7. jsDiv.appendChild(p);

二、document.write

说明:会覆盖整个页面上的内容,DOM结构存在新元素节点,可正常渲染显示,网页源码中无新内容的代码;
            删除时,使用document.body.remove方法;元素从DOM中删除,删除后,无法再获取。

document.write("<h1 id='newp1'>document.write创建的元素</h1><button onclick='jsDel()'>js删除</button>");

三、标签元素.innerHTML

说明:会覆盖选定元素内部的所有内容,DOM结构存在新元素节点,可正常渲染显示,但网页源码中无新元素代码;
            删除时,先获取父元素,使用父元素的remove方法;元素从DOM中删除,删除后,无法再获取。

  1. //父元素
  2. var jsDiv = document.getElementById("jsc");
  3. jsDiv.innerHTML = "<h2 id='newp1'>innerHTML方式</h2>";

四、删除元素方法示例

  1. function jsDel() {
  2. var p = document.getElementById("newp1");
  3. console.log(p);
  4. jsDiv.removeChild(p);
  5. var p1 = document.getElementById("newp1");
  6. console.log(p1);
  7. }

 

JQuery动态创建元素

一、jquery对象

说明:在选定元素内部的最后末尾追加创建新元素,DOM结构存在新元素节点,可正常渲染显示,但网页源码中无新元素代码;
            删除时,先获取父元素,使用父元素的remove或empty方法;元素从DOM中删除,删除后,无法再获取;

  1. //父元素
  2. var jqDiv = $("#jqc");
  3. //var p = $("<p id='newp2'>jquery html字符串直接生成</p>");
  4. //p.appendTo($("#jqc"));
  5. //p.appendTo(jqDiv); //子元素插入到父元素中
  6. jqDiv.append(p); //向父元素中插入子元素
  7. // jqDiv.append("<p id='newp2'>jquery html字符串直接生成</p>");
  8. //$("<p id='newp2'>jquery html字符串直接生成</p>").appendTo(jqDiv);

二、jquery.html方法

说明:会覆盖选定元素内部的所有内容,DOM结构存在新元素节点,可正常渲染显示,但网页源码中无新元素代码
            删除时,先获取父元素,使用父元素的remove或empty方法;元素从DOM中删除,删除后,无法再获取;

  1. var p = "<p id='newp2'>jquery html字符串直接生成</p>";
  2. jqDiv.html(p);

三、jquery删除元素方法

  1. remove:
  2. $(目标).remove(); //删除目标元素及内部的所有元素
  3. empty:
  4. $(目标).empty(); //删除目标元素内部的所有元素

四、jquery创建元素的其它方式

参考:https://blog.csdn.net/qq_27626333/article/details/51927022

1) prepend() 方法在被选元素的开头(仍位于内部)插入指定内容

 提示:prepend() 和 prependTo() 方法作用相同。差异在于语法:内容和选择器的位置,以及 prependTo() 无法使用函数来插入内容。

 语法:$(selector).prepend(content)

  content必需。规定要插入的内容(可包含 HTML 标签)。

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("p").prepend("<b>Hello world!</b> ");
  8. });
  9. });
  10. </script>
  11. </head>
  12. <body>
  13. <p>This is a paragraph.</p>
  14. <p>This is another paragraph.</p>
  15. <button>在每个 p 元素的开头插入内容</button>
  16. </body>
  17. </html>

2) prependTo() 方法在被选元素的开头(仍位于内部)插入指定内容

提示:prepend() 和 prependTo() 方法作用相同。差异在于语法:内容和选择器的位置,以及 prepend() 能够使用函数来插入内容。

 语法:$(content).prependTo(selector)

  content 必需。规定要插入的内容(可包含 HTML 标签)。

  selector 必需。规定在何处插入内容。
 

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function(){
  6. $(".btn1").click(function(){
  7. $("<b>Hello World!</b>").prependTo("p");
  8. });
  9. });
  10. </script>
  11. </head>
  12. <body>
  13. <p>This is a paragraph.</p>
  14. <p>This is another paragraph.</p>
  15. <button class="btn1">在每个 p 元素的开头插入文本</button>
  16. </body>
  17. </html>


3) after() 方法在被选元素后插入指定的内容

       语法:$(selector).after(content)

   content必需。规定要插入的内容(可包含 HTML 标签)。

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("p").after("<p>Hello world!</p>");
  8. });
  9. });
  10. </script>
  11. </head>
  12. <body>
  13. <p>This is a paragraph.</p>
  14. <button>在每个 p 元素后插入内容</button>
  15. </body>
  16. </html>

4) before() 方法在被选元素前插入指定的内容

语法:$(selector).before(content)

    content 必需。规定要插入的内容(可包含 HTML 标签)。

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function(){
  6. $(".btn1").click(function(){
  7. $("p").before("<p>Hello world!</p>");
  8. });
  9. });
  10. </script>
  11. </head>
  12. <body>
  13. <p>This is a paragraph.</p>
  14. <button class="btn1">在每个段落前面插入新的段落</button>
  15. </body>
  16. </html>

 

5)insertAfter()把匹配的元素插入到另一个指定的元素集合的后面

注释:如果该方法用于已有元素,这些元素会被从当前位置移走,然后被添加到被选元素之后。

       语法:$(content).insertAfter(selector)

  content必需。规定要插入的内容。可能的值:选择器表达式、HTML 标记

  selector必需。规定在何处插入被选元素。
 

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("<span>你好!</span>").insertAfter("p");
  8. });
  9. });
  10. </script>
  11. </head>
  12. <body>
  13. <p>这是一个段落。</p>
  14. <p>这是另一个段落。</p>
  15. <button>在每个 p 元素之后插入 span 元素</button>
  16. </body>
  17. </html>

6) insertBefore()把匹配的元素插入到另一个指定的元素集合的前面

 

注释:如果该方法用于已有元素,这些元素会被从当前位置移走,然后被添加到被选元素之前。

        语法:$(content).insertBefore(selector)

   content 必需。规定要插入的内容。可能的值:选择器表达式、HTML 标记

   selector 必需。规定在何处插入被选元素。
 

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("<span>你好!</span>").insertBefore("p");
  8. });
  9. });
  10. </script>
  11. </head>
  12. <body>
  13. <p>这是一个段落。</p>
  14. <p>这是另一个段落。</p>
  15. <button>在每个 p 元素之前插入 span 元素</button>
  16. </body>
  17. </html>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/888737
推荐阅读
相关标签
  

闽ICP备14008679号