<!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[].style.color = 'red';
li1.children[].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[].style.color = 'red';
li1.children[].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[].style.color = 'red';
li1.children[].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:,name:'小米8',subName:'你真好',price:},
{id:,name:'小米6',subName:'你真好2',price:},
{id:,name:'小米4',subName:'你真好3',price:},
{id:,name:'小米2',subName:'你真好4',price:},
{id:,name:'小米10',subName:'你真好5',price:}
];
for(var i=;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:,name:'小米8',subName:'你真好',price:},
{id:,name:'小米6',subName:'你真好2',price:},
{id:,name:'小米4',subName:'你真好3',price:},
{id:,name:'小米2',subName:'你真好4',price:},
{id:,name:'小米10',subName:'你真好5',price:}
];
for(var i=;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>

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

js节点的创建添加删除的更多相关文章

  1. js动态给table添加/删除tr的方法

    js动态给table添加/删除tr的方法. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ...

  2. dir(dict)|字典的创建-添加-删除-修改-判断存在-取值等相关操作

    dir(dict) ####字典操作:创建-添加-删除-修改-判断存在-取值 #(一)创建字典: {} .等号. zip(). [(),()] #1.创建空字典 dict0 = {} #2.等号创建 ...

  3. js表格上下移动添加删除

    html部分 <div onclick='fn()'>加</div> <table width="250" border="1" ...

  4. SharePoint 服务器端对象模型操作用户组(创建/添加/删除)

    摘要:几个操作SharePoint用户组的方法,已经测试通过,但是没有提升权限,如果没有权限的人操作,需要提升权限(提权代码附后).大家需要的话,可以参考下,写在这里也给自己留个备份~~ //创建用户 ...

  5. CentOS7下swap分区创建(添加),删除以及相关配置

    在添加swap分区之前我们可以了解下当前系统swap是否存在以及使用情况,可用: 1. free –h 或 swapon –s 了解硬盘使用情况(一般/dev/vda1为挂载硬盘): 1. df –h ...

  6. JQ DOM元素 创建 添加 删除

    创建元素 // 创建元素节点 $('<p></p>'); // 创建属性节点 $('<p class="wow"></p>'); / ...

  7. js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140 ...

  8. js数组指定位置添加删除

    示例参考:http://www.w3school.com.cn/jsref/jsref_splice.asp

  9. js 节点 document html css 表单节点操作

    js 节点 document html css 表单节点操作 节点操作:访问.属性.创建 (1)节点的访问:firstChild.lastChild.childNodes.parentChild(父子 ...

随机推荐

  1. [LeetCode] 651. 4 Keys Keyboard 四键的键盘

    Imagine you have a special keyboard with the following keys: Key 1: (A): Print one 'A' on screen. Ke ...

  2. Jenkins - 参数化构建

    1 - 设置 根据输入的参数来执行不同的构建过程. 参数TIME作为环境变量,可以被引用. 项目的首页会出现" Build with Parameters"功能链接,没有了&quo ...

  3. Alpha版本2发布

    0.日常开头 这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <https://www.cnblogs.com/harry240/p/11524162.html> 团 ...

  4. matlab调试时子函数断点不起作用

    matlab调试代码时总是遇到这样一个奇怪的问题,就是当我在主程序(.m脚本)中调用子函数并在子函数中设置断点,然后开始调试运行主程序... 发现主程序直接运行到结束而并没有在调用子函数的时候在所设置 ...

  5. 总结IDEA和VS常用实用的快捷键

    整理了我一般撸码时使用下面两个IDE最常用到的快捷键: IntelliJ IDEA: 快捷搜索:Ctrl+F (Match Case:区分大小写,Words:全字匹配,Regex:正则匹配) 批量替换 ...

  6. 【转帖】处理器史话 | 当Power架构的发展之路遭遇“滑铁卢”

    处理器史话 | 当Power架构的发展之路遭遇“滑铁卢” https://www.eefocus.com/mcu-dsp/366740 (8)Power8:决定了 Power 平台的未来发展 2014 ...

  7. JAVAWEB实现增删查改(图书信息管理)之添加功能实现

    addBooks.jsp页面代码:↓ <%-- Created by IntelliJ IDEA. User: NFS Date: 2019-7-12 Time: 14:30 To change ...

  8. 使用while循环来处理列表和字典——参考Python编程从入门到实践

    1. 在列表之间移动元素 unconfirmed_users = ['alice', 'brian', 'candace'] confirmed_users = [] # 验证每个用户,知道没有未验证 ...

  9. 14 IO流(十一)——装换流InputStreamReader与OutputStreamWriter

    什么是转换流 首先,这里的转换流指的是InputstreamReader与OutputStreamWriter. 正如它们的名字,它的作用是将字节流转换为字符流. 为什么要转换为字符流呢?因为对于获取 ...

  10. c语言中typeof关键字

    为什么因为一个关键字而专门写一篇随笔呢?因为这个关键字在Linux里面地位非同一般!这个关键字typeof在linux内核里面使用非常广泛! 下面这两个等效声明,用于声明int类弄的变量atypeof ...