js动态生成html元素并为元素追加属性

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
<div id="main">
    <span id="login"></span>
</div>
</body>

<script>
    var link = document.createElement('a');
    link.setAttribute('href','#');
    link.setAttribute('id','login');
    link.style.color = 'green';
    link.innerhtml = '登录';
    var main = document.getElementById('main');
    main.appendChild(link);
</script>

</html>

  

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
<div id="main">
    <span id="login"></span>
</div>
</body>

<script>
    var link = document.createElement('a');

    //使用innerhtml将元素直接添加到指定节点
    main.innerhtml = "<a href='#' id='login' style='color: red;'>登录</a>";
</script>

</html>

  

虎课网https://www.wode007.com/sites/73267.html 设计坞https://www.wode007.com/sites/73738.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()方法颠倒

<!DOCTYPE html> 
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title></title>
   <script src="jquery-1.11.1.min.js"></script>
   <style type="text/css">
       .newStyle{
            color:red
       }
   </style>

<script>
   $(function(){
   var link=$('<a href="#" id="link" style="color:pink">登录</a>');
   $('#main').append(link).addClass("newStyle");
   })
</script>
</head>
 
<body>
   <div id="main"></div>
</body>
</html>

  

原文地址:https://www.cnblogs.com/ypppt/p/13323299.html