案例10-修改input的值-重要!

工作中重复的功能模块先删除,简化,第一个模块实现了,后面的循环就可以

 


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Document</title>

    <style>

        li {

            height: 30px;

            line-height: 30px;

        }

        .edit {

            display: none;

        }

    </style>

</head>

<body>

<ul id="list">

    <li>

        <p><span class="inner">这是第一个列表</span><a href="javascript:;" class="btn">修改</a></p>

        <div class="edit">

            <input type="text" value="这是第一个列表" class="txt" />

            <button class="edit-btn">确定</button>

        </div>

    </li>

    <li>

        <p><span class="inner">这是第一个列表</span><a href="javascript:;" class="btn">修改</a></p>

        <div class="edit">

            <input type="text" value="这是第一个列表" class="txt" />

            <button class="edit-btn">确定</button>

        </div>

    </li>

    <li>

        <p><span class="inner">这是第一个列表</span><a href="javascript:;" class="btn">修改</a></p>

        <div class="edit">

            <input type="text" value="这是第一个列表" class="txt" />

            <button class="edit-btn">确定</button>

        </div>

    </li>

</ul>

<script>

/*

    1. 找到 btn

    2. btn 添加点击事件

        1. 隐藏 p 标签,显示 edit

        2. 让 txt 的value = inner的内容

    3. edit-btn 添加点击事件

        1. 校验 txt 的value 不能为空

        2. 让 inner的内容 = txt 的value

        3. 显示 p 标签,隐藏 edit

*/

var lis = document.querySelectorAll("#list li");

for(var i = 0; i < lis.length; i++){

    fn(lis[i]);

}

function fn(li){

    var p = li.querySelector("p");

    var btn = li.querySelector(".btn");

    var edit = li.querySelector(".edit");

    var txt = li.querySelector(".txt");

    var inner = li.querySelector(".inner");

    var editBtn = li.querySelector(".edit-btn")

    btn.onclick = function(){

        p.style.display = "none";

        edit.style.display = "block";

        txt.value = inner.innerHTML;

    };

    editBtn.onclick = function(){

        // 字符串转布尔值 "" false   非空字符串 true

        if(!txt.value){//校验不能为空

            alert("请输入内容")

        } else {

            inner.innerHTML = txt.value;

            p.style.display = "block";

            edit.style.display = "none";

        }

    };

}

</script>    

</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值