zoukankan      html  css  js  c++  java
  • 动态生成html元素并为元素追加属性

    动态生成HTML元素的方法有三种:

    第一种:document.createElement()创建元素,再用appendChild( )方法将元素添加到指定节点

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 
     8 <body>
     9 <div id="main">
    10     <span id="login"></span>
    11 </div>
    12 </body>
    13 
    14 <script>
    15     var link = document.createElement('a');
    16     link.setAttribute('href','#');
    17     link.setAttribute('id','login');
    18     link.style.color = 'green';
    19     link.innerHTML = '登录';
    20     var main = document.getElementById('main');
    21     main.appendChild(link);
    22 </script>
    23 
    24 </html>

    第二种:使用innerHTML直接将元素添加到指定节点

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6 </head>
     7 
     8 <body>
     9 <div id="main">
    10     <span id="login"></span>
    11 </div>
    12 </body>
    13 
    14 <script>
    15     var link = document.createElement('a');
    16 
    17     //使用innerHTML将元素直接添加到指定节点
    18     main.innerHTML = "<a href='#' id='login' style='color: red;'>登录</a>";
    19 </script>
    20 
    21 </html>

    第三种:jQuery创建节点

    jQuery中创建DOM对象,使用jQuery的工厂函数$( )完成,格式如下:

    $(html),$(html)会根据传入的HTML标记字符串,创建一个DOM对象,并将这个DOM对象包装成一个jQuery对象后再返回到前台页面上。

    jQuery中将创建的节点插入文本中,使用append( )等方法,jQuery中插入节点方法有:

    1. append():向每个匹配的元素内部追加内容

    2.appendTo():将所有匹配的元素追加到指定元素中,颠倒了常规的$(A).append(B)方法,不是将B追加到A中,而是将A追加到B中

    3.prepend():向每个匹配的元素内部前置内容

    4.prependTo():将所有匹配的内容前置到指定的元素中,与prpend( )方法颠倒

    5.after():向每个匹配的元素之后插入内容

    6.insertAfter():将所有匹配的元素插入到指定元素的后面,与after()方法颠倒

    7.before():在每个匹配的元素之前插入内容

    8.insertBefore():将每个匹配的元素插入到指定内容之前,与before()方法颠倒

     1 <!DOCTYPE html> 
     2 <html lang="en">
     3 <head>
     4    <meta charset="UTF-8">
     5    <title></title>
     6    <script src="jquery-1.11.1.min.js"></script>
     7    <style type="text/css">
     8        .newStyle{
     9             color:red
    10        }
    11    </style>
    12 
    13 <script>
    14    $(function(){
    15    var link=$('<a href="#" id="link" style="color:pink">登录</a>');
    16    $('#main').append(link).addClass("newStyle");
    17    })
    18 </script>
    19 </head>
    20  
    21 <body>
    22    <div id="main"></div>
    23 </body>
    24 </html>

    借鉴文档出处:https://blog.csdn.net/fredaouyang/article/details/56481458

  • 相关阅读:
    P2762 [网络流24题]太空飞行计划问题(最小割)
    poj2987 Firing[最小割]
    P2051 [AHOI2009]中国象棋[线性DP]
    poj1637 Sightseeing tour[最大流+欧拉回路]
    hdu3739 Anti LIS[最小割]
    P2766 [网络流24题]最长不下降子序列问题
    P2764 [网络流24题]最小路径覆盖问题[最大流]
    P2936(BZOJ3396) [USACO09JAN]全流Total Flow[最大流]
    BZOJ4278 [ONTAK2015]Tasowanie[后缀数组+贪心]
    Robot framework之元素定位实战
  • 原文地址:https://www.cnblogs.com/seanyan/p/9339593.html
Copyright © 2011-2022 走看看