day03

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

A.今天你学到了什么

1.添加子元素节点方法

    <div>
        <input type="text" id="txt"> <button id="add">添加</button>
    </div>
    <ul id="parent">

    </ul>
      <script>
        var txt =document.getElementById("txt");
        var add=document.getElementById("add");
        var parent=document.getElementById("parent");
        add.onclick=function(){
            var value=txt.value;
            var li=document.createElement("li");
            li.innerHTML=value;
            console.log(li);
            parent.appendChild(li);
       }
    </script>

2.获取父元素节点

 <div class="parent">
        <p id="child">hello world</p>
    </div>
    
    <script>
        //parentNode 获得父节点
         var  p=document.getElementById("child");
         var parent=p.parentNode;
         console.log(parent);
    </script>

3.界面删除父节点

<ul>
        <li>小米手机<a href="#">删除</a></li>
        <li>苹果手机<a href="#">删除</a></li>
        <li>华为手机<a href="#">删除</a></li>
    </ul>
    <script>
        var shows=document.getElementsByTagName("a");
        for(let i=0;i<shows.length;i++){
            shows[i].onclick=function(){
                this.parentNode.style.display="none";
                
            }
        }
    </script>

4.更改子节点属性

<ul id="parent">
        <li>1</li>
        <li>2</li> 
        <li>3</li>
        <li>4</li>
    </ul>
    <script>
        let parent = document.getElementById("parent");
        let childs=parent.childNodes;
        // console.log(childs); 获得所有类型的子节点
        for(let i=0;i<childs.length;i++){
            if(childs[i].nodeType==1){
                childs[i].style.backgroundColor="red";
            }
        }
    </script>

5.获取子节点

<ul id="parent">
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <script>
    // firstChild 获取第一个子节点
    // lastChild 获取最后一个子节点
    // firstElementChild 获取第一个元素子节点  i9以下不支持
    // lastElementChild  获取最后一个元素子节点
        var parent=document.getElementById("parent");
        var fc=document.getElementById("parent").firstChild;
        var fElement=parent.firstElementChild;
        
        console.log(fc);
        console.log(fElement);
    </script>

6.兄弟节点

 <!-- previousSibling 获取前面的兄弟节点
        previousElementSibling 获取获取前面的兄弟元素节点
        nextSibings 获取下一个兄弟节点
        nextElementSibings 获取下一个兄弟元素节点 -->
    <div>
        <p>hello world 01</p>
        <p id="test">hello world 02</p>
        <p>hello world 03</p>
    </div>
    <script>
        let test =document.getElementById("test");
        let pSiblings=test.previousSibling;
        let eSiblings=test.previousElementSibling;
        console.log(pSiblings);
        console.log(eSiblings);
    </script>

7.获取元素偏移量

 <div id="test">
    //需要设置div元素的大小,margin值
    </div>
    <script>
        // offsetLeft   获取元素水平方向偏移位置
        // offsetTop     获取元素水平方向偏移位置
        // offsetWidth     获取元素的宽度, 特点:只读属性
        // offsetHeight    获取元素的高度
        let test=document.getElementById("test");
        let offl=test.offsetLeft;
        let offt=test.offsetTop;
        let offw=test.offsetWidth;
        let offh=test.offsetHeight;
        console.log(offl);
        console.log(offt);
        console.log(offw);
        console.log(offh);
    </script>

8.定时器

<script>
        //setTimeout 超时调用
        //语法:setTimeout 间隔一段时间,触发函数,只触发一次
       setTimeout(function(){
           alert(1)
       }, 2000);
        //使用setTimeout实现setInterval       持续触发,间隔时间为1000毫秒
        // function  go(){
        //     alert("hello world")
        //     setTimeout(go,1000)
        // }  
        // go();       
 </script>

9.设置属性的方式

9.1第一种
<p id="test">hello world</p>
    <script>
       var p =document.getElementById("test");
        // test.style.color="red";
        // test.style["color"]="red";  什么时候使用:当传入的属性是变量的时候
         function changeStyle(ele,attr,value){
             ele.style[attr]=value;
         }
        //  changeStyle(p,"background","green");
    </script>
9.2第二种
 <!-- 设置属性的方式,设置样式 -->
    <p id="test">hello world</p>
    <script>
        let test =document.getElementById("test");
        test.setAttribute("Style","color:red");
    </script>

10 操作属性

 <p class="one" id="test">
        hello world
   </p> 
   <script>
    //    getAttribute()     得到属性值
    //    setAttribute()     设置属性值
    //    removeAttrbute()   移除属性
       let test =document.getElementById("test");
       
        test.setAttribute("class","two")
        let cValue=test.getAttribute("class");
       console.log(cValue);
   </script>

11.动态添加 title

<p id="test">hello world</p>
    <script>
        let test=document.getElementById("test");
        test.setAttribute("title","title");
    </script>

12.获取浏览器窗口大小

<script>
        var windowWidth=window.innerWidth;
        var windowHeight=window.innerHeight;
        console.log(windowWidth); //宽度
        console.log(windowHeight);//高度
    </script>

13.获取页面内容窗口大小

<div>      //  需要设置div属性</div>
    <script>
        var width=document.documentElement.scrollWidth;
        var height=document.documentElement.scrollHeight;
        console.log(width+":"+height);
 </script>

14.frame 文档碎片

<ul id="parent"></ul>
    <button id="btn">btn</button>
    <script>
/*
        createDocumentFragment()文档碎片 好处:提高渲染效率 
         */
        var btn=document.getElementById("btn");
        var parent=document.getElementById("parent");
        var frame=document.createDocumentFragment();
        btn.onclick=function(){
            for(let i=0;i<10;i++){
                let i=document.createElement("li");
                frame.appendChild(i);
            }
            parent.appendChild(frame);
           
        }
    </script>

15. 箭头函数

 <script>
        var one=function(){
            console.log("one");
        }
      var  go=()=>{
            console.log("hello world");
     }
        go();
    </script>

16.函数的传参

 // JS中函数传不定参
        function go(a,b){
            console.log(a);
            console.log(a+b);
            console.log("没有参数");
        }
        go();
        //js中  如何实现重载  使用arguments对象
        function test(){
            console.log(arguments);
        }
        test(2,3,5)

17.js 中实现函数的重载

    <script>
        function test(){
            if(arguments.length==1){
                cosole.log(argument[0])
            }if(arguments.length==2){
                console.log(argument[0]+argument[1]);                   fdsf
            }else{
                console.log("hello world")
            }
        }
        test();
        test(1);
        test(1,3);
    </script>

18.基本数据类型和引用

<script>
        // 1.基本类型只传值
        // 2.引用类型传值又传址
         //  var a =10;
        //  var b = a;
        //  console.log(b);
        var arr = [1,2,3];
        var b = arr;
        arr[arr.length] =4;
        var obj = {
            name:"chengchao"
        }
        var jiang = obj;
        obj.age = 30;
        console.log(jiang);
  </script>

相关文章

网友评论

      本文标题:day03

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