使用JS对HTML标签进行增删改查

以下为通过JS对li标签进行简单的增删改查:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script type="text/javascript">
        //定义变量,保存选中的标签
        var selectLi;
        //定义变量,保存修改了的标签
        var editedLi=false;
        window.onload=function()
        {
            //新增li标签到末尾
            document.getElementById("insertEnd").onclick = insertEndclick;
            //新增li标签到指定位置
            var liObj=document.getElementsByTagName("li");
            for(var i=0;i<liObj.length;i++)
            {
                liObj[i].onclick = liChoose;
            }
            document.getElementById("insert").onclick = insertThere;
            //删除指定标签
            document.getElementById("delete").onclick = deleteli;
            //修改指定标签内容
            document.getElementById("edit").onclick = editLi;
            //将选中的该标签变为文本框进行内容修改
            document.getElementById("edit2").onclick = editLi2;
            //将文本框中的内容保存
            document.getElementById("save").onclick = saveLi;

        }

        //新增li标签到末尾
        function insertEndclick()
        {
            var result = prompt("需要插入的li标签文本:", "小黑");
            if (result)
            {
                var newli = document.createElement("li");
                newli.innerHTML = result;
                newli.onclick = liChoose;
                document.getElementById("ulList").appendChild(newli);
            }
        }

        //新增li标签到指定位置
        function insertThere()
        {
            if (selectLi)
            {
                var result = prompt("需要插入的li标签文本:", "小黑");
                if (result) {
                    var newli = document.createElement("li");
                    newli.innerHTML = result;
                    //需要给新增的li标签设置点击事件
                    newli.onclick = liChoose;
                    document.getElementById("ulList").insertBefore(newli, selectLi);
                }
            }
            else
            {
                alert("请先选择要插入的位置");
            }
        }

        //高亮选中的标签
        function liChoose()
        {
            var ul = document.getElementsByTagName("li")
            for (var i = 0; i < ul.length; i++)
            {
                ul[i].style.backgroundColor = "white";
            }
            this.style.backgroundColor = "yellow";
            selectLi = this;
        }

        //删除指定标签
        function deleteli()
        {
            if (selectLi)
            {
                selectLi.parentElement.removeChild(selectLi);
            }
            else
            {
                alert("请先选中要删除的标签");
            }
        }

        //修改指定标签
        function editLi()
        {
            if(selectLi)
            {
                var result = prompt("输入修改内容", "大白");
                if(result)
                {
                    selectLi.innerHTML = result;
                }
            }
            else
            {
                alert("请选择要修改的标签");
            }
        }

        //将选中的该标签变为文本框进行内容修改
        function editLi2()
        {
            if(selectLi)
            {
                //创建一个文本框
                var newli = document.createElement("input");
                newli.type = "text";
                //将文本框内容设置为li标签的文本值
                newli.value = selectLi.innerHTML;
                //将文本框添加到li标签内部
                selectLi.removeChild(selectLi.childNodes[0]);
                selectLi.appendChild(newli);
                editedLi = true;
            }
        }

        //将文本框中的内容保存
        function saveLi()
        {
            if (editedLi)
            {
                var editValue = selectLi.childNodes[0].value;
                selectLi.innerHTML = editValue;
            }
            else
            {
                alert("没有标签在编辑状态");
            }
        }

    </script>
</head>
<body>
    <div>
        <input type="button" id="insertEnd" value="新增到末尾" />
        <input type="button" id="insert" value="新增到指定位置" />
        <input type="button" id="delete" value="删除" />
        <input type="button" id="edit" value="修改" />
        <input type="button" id="edit2" value="将选中标签变为文本标签进行修改" />
        <input type="button" id="save" value="保存" />
    </div>
    <ul id="ulList">
        <li>小猫</li>
        <li>小鱼</li>
        <li>小狗</li>
        <li>大象</li>
        <li>树懒</li>
    </ul>
</body>
</html>
时间: 2024-12-20 10:58:12

使用JS对HTML标签进行增删改查的相关文章

js + bootstrap 实现基本的增删改查功能 -- 兰

描述:利用原生js + bootstrap 实现基本的增删改查功能:包含两个文件(index.jsp 和 index.js) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN

node.js对mongodb的连接&amp;增删改查(附async同步流程控制)

1.启动mongodb数据库 官网下载mongodb数据库 在mongodb根目录下创建文件夹:假设取名为test. 我们认为test就是mongodb新建的数据库一枚. 创建批处理文件 xxx.bat,内容如下: 运行e盘mongodb文件夹下bin目录下的 mongod.exe,参数为 -dbpath E:\mongodb\test. E:\mongodb\bin\mongod.exe -dbpath E:\mongodb\test 这样就启动了mongodb下test数据库的服务器. 2.

Node.js + MySQL 实现数据的增删改查

通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-crud && cd $_ $ yarn init -y && npx gitignore node 上面的命令创建了一个空文件夹 node-crud,进入之后初始化一个 package.json 以及创建 .gitignore 文件. 安装 Koa 并创建 app.js 以启动一个

js的动态表格的增删改查思路

1. 首先我们要知道,动态添加,肯定不是 在页面上写死得,而是通过js调用循环放入到页面上的,我们在写动态表格的时候不要先着急写,我们第一步要做的就是构思,要把自己的逻辑先弄清楚,不然的话,前面是好写,到最后你就不好写了,到最后有可能要推倒重来,因为我之前就是这样. 2.接下来我们开始来完成代码部分 我们写死在页面上的的东西应该有查询按钮 全部删除 添加  还要给它一个form表单用于添加和修改数据,其实可以换别的添加和修改的方法,这里只给一个参考 代码如下: Html: css: table{

node.js操作mysql数据库之增删改查

安装mysql模块 npm install mysql 数据库准备 mysql server所在的机器IP地址是192.168.0.108,登录账户就用[email protected] 在mysql中创建test数据库 在test数据库中创建一张users表 操作 连接数据库 var mysql=require('mysql'); var connection = mysql.createConnection({ host : '192.168.0.108', user : 'root', p

JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打算正式将ko用起来,于是乎对ko和bootstraptable做了一些封装,在此分享出来供园友们参考.封装思路参考博客园大神萧秦,如果园友们有更好的方法,欢迎讨论. KnockoutJS系列文章: JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一) JS组件

JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(二)

前言:上篇 JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一) 介绍了下knockout.js的一些基础用法,由于篇幅的关系,所以只能分成两篇,望见谅!昨天就觉得应该快点完成下篇,要不然有点标题党的感觉,思及此,博主心有不安,于是加班赶出了下篇.如果你也打算用ko去做项目,且看看吧! 一.效果预览 其实也没啥效果,就是简单的增删改查,重点还是在代码上面,使用ko能够大量节省界面DOM数据绑定的操作.下面是整个整个增删改查逻辑的js代码: 页面效果: 二.

javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

jsp页面表格布局Html代码 <body > <center> <input type="text" value="111" id="mytext"> <table border="1" width="60%" id="mytable"> <tr> <td id="td1">第一行第一列<

node.js + express(ejs) + mongodb(mongoose) 增删改实例

刚学node不久,以下是对最近学习的总结,不足的地方还请见谅. node 和 mongodb安装不做为本文讲解,想了解的朋友可以通过一下链接配置环境: node 安装:http://www.infoq.com/cn/articles/nodejs-npm-install-config Win7下MongoDB安装 :http://www.mkyong.com/mongodb/how-to-install-mongodb-on-windows/ MongoDB 安装步骤总结: 1.解压目录到d盘