day02

作者: xusong__ | 来源:发表于2018-07-05 20:13 被阅读0次

A.今天你学到了什么

1. 'js'的各种使用方法

1.1通过点击按钮直接更改元素的背景颜色
 <script>
        /* 
        修改样式
        element.style.attr=value;
         */
        var btn = document.getElementById("btn");
        var p = document.getElementById("p");
        btn.onclick = function(){
            p.style.background= "red";
        }
    </script>

1.2 隔行变色
<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
    <script>
        var lis = document.getElementsByTagName("li");
        for (let i = 0; i < lis.length; i++) {
            if (i % 2 == 0) {
                lis[i].style.backgroundColor = "red"
            } else {
                lis[i].style.backgroundColor = "green"
            }
        }
    </script>
</body>
1.3 通过点击按钮,显示隐藏元素
<body>
    <div id="div" style="display:block">

    </div>
    <button id="btn">
        toggle
    </button>
    <script>
        var btn = document.getElementById("btn");
        var div = document.getElementById("div");
        btn.onclick = function(){
            let value = div.style.display;
            if(value == "block"){
                div.style.display = "none"
            } else{
                div.style.display = "block"
            }
        }
    </script>
</body>
1.4通过点击按钮,添加class名更改元素属性
 <style>
        .current{
            color: red;
        }
    </style>
<p id="p">
        hello world
    </p>
    <button id="btn">btn</button>
    <script>
        var btn=document.getElementById("btn");
        var p=document.getElementById("p");
        btn.onclick=function(){
             p.className="current";
       }
    </script>
1.5获得文本节点
<!--获得文本节点  -->
    <p>hello world  <span>
        good
    </span></p>
    <script>
        var p=document.getElementsByTagName("p")[0];
        var nodeCondent=p.textContent;
        console.log(nodeCondent);
    </script>
1.6不同节点的返回类型
    <!-- 
        nodeType 节点类型的返回值
        1.元素节点
        2.属性节点
        3.文本节点
     -->
    <p class="one" id="p">hello world</p>
    <script>
        var p =document.getElementById("p");
        var eNode=p.nodeType;
        var tNode=p.firstChild.nodeType;
        var attrNode=p.getAttributeNode("class").nodeType;
        console.log(eNode);
        console.log(tNode);
        console.log(attrNode);
    </script>
1.7 在元素后增加节点
 <!-- 在之后添加节点 -->
    <div id="parent">
        <p>hello world</p>
    </div>
    <button id="add">add</button>
    <script>
        var add=document.getElementById("add");
        var parent =document.getElementById("parent");
        add.onclick = function() {
            let p=document.createElement("p");
            let txt=document.createTextNode("first");
            p.appendChild(txt);
            parent.appendChild(p);
        }
    </script>
1.8在元素前增加节点
<!-- insertBefore 
        语法:parentNode.insertBefore(assNode,targetNode)
        createElement()创造元素节点
        createTextNode() 创造文本节点
    -->
        <div id="parent">
                <p id="one">hello world</p>
            </div>
            <button id="add">add</button>
            <script>
                var add=document.getElementById("add");
                var parent =document.getElementById("parent");
                var one=document.getElementById("one");
                add.onclick = function() {
                    let p=document.createElement("p");
                    let txt=document.createTextNode("first");
                    p.appendChild(txt);
                    parent.insertBefore(p,one);
                }
            </script>
1.9删除节点
    <ul id="parent">
        <li>hello world</li>
    </ul>
    <button id="btn">btn</button>
    <script>
        var btn=document.getElementById("btn");
        var  parent=document.getElementById("parent");
        var li =document.getElementsByTagName("li")[0];
        btn.onclick=function(){
            parent.removeChild(li);
        }

    </script>
2.0 替换节点
<div id="parent">
            <p id="child">hello world</p>
    </div>
    <button id="btn">btn</button>
    <script>
        var btn=document.getElementById("btn");
        var  parent=document.getElementById("parent");
        var child=document.getElementById("child"); 
        btn.onclick=function(){
            let h4=document.createElement("h4");
            let txt=document.createTextNode("修改");
            h4.appendChild(txt);
            parent.replaceChild(h4,child);
        }
    </script>
2.1克隆节点
<p>hello world</p>
    <script>
        var p=document.getElementsByTagName("p")[0];
        var cp=p.cloneNode(true);
        document.body.appendChild(cp);
    </script>

2.2 事件中的得到和失去焦点

<!-- 
        onfocus  获取焦点
        onblur 失去焦点
        this 表示 正在执行事件的对象-->
    <input type="text" id="input">
    <script>
        var input=document.getElementById("input");
        input.onfocus=function(){
            this.style.background="red";

        }
        input.onblur=function(){
            this.style.background="green";
        }
    </script>
2.3 鼠标的应用事件
 <p id="test">hello world</p>
    <script>
        // onmouseover 鼠标移到某元素上
        // onmouseout 鼠标离开某元素
        var test=document.getElementById("test");
        test.onmouseover = function(){
            this.style.color="red";

        }
        test.onmouseout = function(){
            this.style.color="green";

        }
    </script>
2.4 window.onload
<script>
        // window.onload  整个dom树以及相关图片资源加载完成后,执行相关代码
        window.onload=function(){
        var p=document.getElementsByTagName("p")[0];
        console.log(p);
        }
    </script>
</head>
<body>
    <p>hello world</p>
2.5 改变域
<input type="text">
    <script>
        // onchange 域的内容发生改变时触发
        var input=document.getElementsByTagName("input")[0];
        input.onchange=function(){
            this.value="change";
        }
    </script>
2.6 提交表单
 <form action="">
        <input type="text">
        <button type="submit">提交</button>
    </form>
    <script>
        var submit=document.getElementsByTagName("form")[0];
        submit.onsubmit=function(){
            albert("提交表单");
        }
    </script>
2.7 resize
<div>
//需要设置大小,背景
    </div>
    <script>
        window.onresize=function(){
            alert("浏览器窗口改变时触发");
        }
        window.onscroll=function(){
            alert("窗口滚动时触发");
        }
2.8 key
<p>你还可以输入<em id="show">0</em>/150个字</p>
    <textarea id="text" cols="30" rows="10"></textarea>
    <script>
        // 键盘按下时触发
        // document.onkeydown=function(event){
        //     alert(event.keyCode);
        // }
        //在键盘按键松开时触发
        // document.onkeyup=function(event){
        //     alert(event.keyCode);
        // }
        //键盘按下并释放一个键时触发
        // document.onkeypress=function(event){
        //     alert(event.keyCode);
        // }
            let show =document.getElementById("show");
            let text=document.getElementById("text");
            text.onkeyup=function(){
                let length =text.value.length;
                show.innerHTML=length;
            }
    </script>
2.9 window
 <script>
    
       var a =10;
       console.log(window.a);
       function b(){
           console.log(this);
       }
       window.b();
   </script>
3.0 confirm
<div>
        <span id="mi">小米8
            <button id="btn">btn</button>
        </span>
    </div>
    <script>
        // confirm 有返回值 确定 》 true   取消》false
        // window.confirm("是否取消");
        let btn=document.getElementById("btn");
        let mi=document.getElementById("mi");
        btn.onclick=function(){
            var result =window.confirm("你确定不要小米8了吗");
            if(result){
                mi.style.display="none"
            }else{
                mi.style.display="block";
              
            }
        }
    </script>


相关文章

网友评论

      本文标题:day02

      本文链接:https://www.haomeiwen.com/subject/crsnyftx.html