使用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>

 

转载于:https://www.cnblogs.com/miaoying/p/5266993.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值