• js节点的创建添加删除


    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
        </head>
        <body>
            <ul id="box">
    
            </ul>
            <script type="text/javascript">
                var ul = document.getElementById('box');
                // 创建节点
                var li1 = document.createElement('li');
                var li2 = document.createElement('li');
                // // innerText 只设置文本
                // // li1.innerText  = '<a href="#">123</a>';
                // li1.innerHTML = '<a href="#">123</a>';
                // li1.setAttribute('class','active');
                // console.log(li1.children);
                // li1.children[0].style.color = 'red';
                // li1.children[0].style.fontSize = '20px';
                ul.appendChild(li1);
                ul.appendChild(li2);
                //
                // li2.innerHTML = '第一个';
                // ul.insertBefore(li2,li1);
                //
                // ul.removeChild(li2);
            </script>
        </body>
    </html>

    1、增删改查

    1.1创建节点

                var ul = document.getElementById('box');
                // 创建节点
                var li1 = document.createElement('li');
                var li2 = document.createElement('li');
            
    ul.appendChild(li1);
    ul.appendChild(li2);

    1.2设置标签文本内容

                var ul = document.getElementById('box');
                // 创建节点
                var li1 = document.createElement('li');
                var li2 = document.createElement('li');
                 // innerText 只设置文本
                li1.innerText  = '<a href="#">123</a>';
    
                ul.appendChild(li1);
                ul.appendChild(li2);

    元素对象.inner文本=‘内容’

                var ul = document.getElementById('box');
                // 创建节点
                var li1 = document.createElement('li');
                var li2 = document.createElement('li');
                // // innerText 只设置文本
                li1.innerText  = '<a href="#">123</a>';
                li1.innerText  = 'mcw';
    
                ul.appendChild(li1);
                ul.appendChild(li2);

    使用两次,会被覆盖掉

     1.3、给添加的标签设置属性和文本并添加子标签

                var ul = document.getElementById('box');
                // 创建节点
                var li1 = document.createElement('li');
                var li2 = document.createElement('li');
                li1.innerHTML = '<a href="#">123</a>';
                li1.setAttribute('class','active');
                console.log(li1.children);
                li1.children[0].style.color = 'red';
                li1.children[0].style.fontSize = '20px';
                ul.appendChild(li1);
                ul.appendChild(li2);

    1)创建dom对象    document.getElementById('box');

    2)创建标签对象;   document.createElement('li')

    3)标签对象插入文本内容:li1.innerText=‘内容’;

    4)标签对象插入html,插入子标签:  li1.innerHTML = '<a href="#">123</a>';

    5)根据索引获取子标签位置并设置样式:  li1.children[0].style.color = 'red';

    6)将创建的标签追加进html文档对象:   ul.appendChild(li1);

    li1.children只有一个元素,可以索引取值。

    1.4、在某个标签之前插入标签   ul.insertBefore(li2,li1);

                var ul = document.getElementById('box');
                // 创建节点
                var li1 = document.createElement('li');
                var li2 = document.createElement('li');
                // // innerText 只设置文本
                // li1.innerText  = '<a href="#">123</a>';
                li1.innerHTML = '<a href="#">123</a>';
                li1.setAttribute('class','active');
                console.log(li1.children);
                li1.children[0].style.color = 'red';
                li1.children[0].style.fontSize = '20px';
                ul.appendChild(li1);            li2.innerHTML = '第一个';
                ul.insertBefore(li2,li1);//如果li1不存在或没有追加进去,那么此条不执行

    1.5、删除标签   文档对象. r移除孩子()             ul.removeChild(li2);

                var ul = document.getElementById('box');
                // 创建节点
                var li1 = document.createElement('li');
                var li2 = document.createElement('li');
                li1.innerHTML = '<a href="#">123</a>';
                li1.setAttribute('class','active');
                console.log(li1.children);
                li1.children[0].style.color = 'red';
                li1.children[0].style.fontSize = '20px';
                ul.appendChild(li1);
                // ul.appendChild(li2);
                //
                li2.innerHTML = '第一个';
                ul.insertBefore(li2,li1);
                //
                ul.removeChild(li2);

     2、对属性,值,节点的操作案例

    for循环批量生成标签:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
                ul li p.name{
                    color: red;
                }
            </style>
        </head>
        <body>
            <ul id="box">
    
            </ul>
            <script type="text/javascript">
                var box = document.getElementById('box');
                //从前端获取后端的数据
                var data = [
                    {id:1,name:'小米8',subName:'你真好',price:98},
                    {id:2,name:'小米6',subName:'你真好2',price:948},
                    {id:3,name:'小米4',subName:'你真好3',price:100},
                    {id:4,name:'小米2',subName:'你真好4',price:928},
                    {id:5,name:'小米10',subName:'你真好5',price:918}
                    ];
                for(var i=0;i<data.length;i++){
                    var li=document.createElement('li')
                     box.appendChild(li)
                }
            </script>
        </body>
    </html>

    将模拟从数据库拿来的数据放在生成的标签里,并给标签写好css样式:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
                ul li p.name{
                    color: red;
                }
            </style>
        </head>
        <body>
            <ul id="box">
    
            </ul>
            <script type="text/javascript">
                var box = document.getElementById('box');
                //从前端获取后端的数据
                var data = [
                    {id:1,name:'小米8',subName:'你真好',price:98},
                    {id:2,name:'小米6',subName:'你真好2',price:948},
                    {id:3,name:'小米4',subName:'你真好3',price:100},
                    {id:4,name:'小米2',subName:'你真好4',price:928},
                    {id:5,name:'小米10',subName:'你真好5',price:918}
                    ];
                for(var i=0;i<data.length;i++){
                    var li=document.createElement('li')
                    li.innerHTML=`<p class="name">${data[i].name}</p>
                    <p class="subName">${data[i].subName}</p>
                    <span class="price">${data[i].price}</span>元`;
                     box.appendChild(li)
                }
            </script>
        </body>
    </html>
    View Code

    这样就生成了这个列表,数据库有多少个显示多少个。

  • 相关阅读:
    HDevEngine in .NET Applications MultiThreading
    C# 打开以对话框,获取文件夹路径 、文件的路径、文件名
    C#设计模式总结
    C#使用Aspose.Cells导出Excel简单实现
    [相机选型] 双目视觉系统的器材选型和搭建
    08 Django组件-Forms组件
    MySql数据库基础知识
    MySql数据库多表操作
    补充01 Django 类视图
    07 Django组件-中间件
  • 原文地址:https://www.cnblogs.com/machangwei-8/p/10976535.html
Copyright © 2020-2023  润新知