2019-04-10

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>楼下小黑水果店开张啦</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            #container {
                margin: 20px 50px;
            }
            #fruits>li {
                list-style: none;
                width: 700px;
                height: 50px;
                font-size: 20px;
                line-height: 50px;
                background-color: cadetblue;
                color: white;
                text-align: center;
                margin: 2px 0;
            }
            #fruits>li>a {
                float: right;
                text-decoration: none;
                color: white;
                position: relative;
                right: 5px;
            }
            #fruits~input {
                border: none;
                outline: none;
                font-size: 18px;
            }
            #fruits~input[type=text] {
                border-bottom: 1px solid darkgray;
                width: 200px;
                height: 50px;
                text-align: center;
            }
            #fruits~input[type=button] {
                width: 80px;
                height: 30px;
                background-color: coral;
                color: white;
                vertical-align: bottom;
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <div id="container">
            <ul id="fruits">
                <li>苹果<a href="">×</a></li>
                <li>香蕉<a href="">×</a></li>
                <li>火龙果<a href="">×</a></li>
                <li>西瓜<a href="">×</a></li>
            </ul>
            <input type="text" name="fruit">
            <input id="ok" type="button" value="确定">
        </div>
        <script>
            const ul = document.querySelector('#fruits')
            const input = ul.nextElementSibling
            input.addEventListener('keypress', (evt) => {
                if (evt.keyCode == 13){
                    adddds()
                }
            })
            const ok = input.nextElementSibling
            ok.addEventListener('click', (evt) => {adddds()})
            let anchors = document.querySelectorAll('#fruits>li>a')
            function adddds(){
                    let name = input.value.trim()
                    if (name.length > 0){
                        //通过document.creatElement
                        let li = document.createElement('li')
                        //修改标签中的内容可以用textContent或innerHTML属性
                        li.textContent = name
                        //通过父元素的appendChild可以添加子元素到父元素中
                        let a = document.createElement('a')
                        a.textContent = '×'
                        a.href = ''
                        a.addEventListener('click', remove)
                        li.appendChild(a)
                        ul.appendChild(li)
                        input.value = ''
                        input.focus()
                    }
            }
            function remove(evt){
                    //evt.stopPropagation
                    //通过事件对象的preventDefault方法来阻止时间的默认行为
                    evt.preventDefault()
                    //通过元素获取父元素 - parentNode
                    //通过元素获取子元素- children/firstElementChild
                    //通过元素获取兄弟元素 - previousElementSibling/nextSibling
                    let li = event.target.parentNode
                    //通过父元素的removeChild方法可以删除子元素
                    ul.removeChild(li)
                
            }
            for (let i= 0;i < anchors.length; i+=1){
                //addEventListener方法有三个参数
                //第一个参数是事件的名称:click / dbclick / mouseover / mouseout
                //第二个参数是事件发生时要执行的回调函数,函数的参数是一个事件对象
                //~传入一个已有函数的名字
                //~写一个匿名函数 function(evt){}
                //~写一个箭头函数 (evt)=>{}
                //第三个参数表示使用事件捕获还是事件冒泡,如果不写表示事件冒泡
                // ~如果设置为true表示事件捕获(从外向里传播事件),如果是false表示为事件冒泡
                //如果希望阻止时间的传播行为可以通过事件对象的,参数.stopPropagation()
                anchors[i].addEventListener('click', remove)
            }
        </script>
    </body>
</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 舞蹈展现了,民国初期华美的夜上海 螺丝卷的烫发,波浪纹的刘海,风韵妖娆的旗袍,灯红酒绿。是一首代入感很强的歌曲纸醉...
    武动奇迹晓瑞阅读 511评论 0 0
  • 欧阳若曦到底是处子之身,自然散发出少女特有的体香。也不像哪些久经人事的女子,除了浓浓的胭脂味,就是刺鼻的香水。她翘...
    霖江南阅读 2,944评论 0 0
  • 一、什么是财务自由? 在我的理解看来,“财务自由”就是在没有工作的情况下,收入也能维持基本的生活支出。百度上说,财...
    会打呼噜的噜噜阅读 903评论 0 0
  • 那年大三,血气方刚,心系天下,敏感于民生新闻,执迷于翻墙越狱,向往着心中的自由,独自走在自诩的康庄大道上。有一天,...
    康查舒阅读 430评论 0 2