javascript day02

作者: 余昌帅 | 来源:发表于2017-09-07 19:35 被阅读0次

DOM基础

HTML Dom是关于如何增,删,改,查HTML元素的标准。
节点:
节点树就是由一个个节点组成

获取节点

innerHTML可以改变元素的内容
<div id="test">
<!--hello world-->
</div>
<script>
    var test = document.getElementById("test");
通过id名获取
    test.innerHTML="hello world";
    console.log(test);
</script>
<ul>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
    <li class="item"></li>
</ul>
<script>
    /*通过class去获取*/
    var lis = document.getElementsByClassName("item");
    /*通过标签名去获取*/
    var tags = document.getElementsByTagName("li");
    /*通过选择器获取*/
    var qs = document.querySelectorAll(".item");
    /*
    * 改变样式的语法
    * object.style.color=value;
    * */
    qs[0].style.backgroundColor="pink";
</script>

节点类型

   * nodeType==1元素节点
   * nodeType==2属性节点
   * nodeType==3文本节点

添加节点

<div id="parent">
    <p id="one">hello world</p>
    <p id="two">hello world</p>

</div>
<script>
    /*
    在父元素的目标元素之前插入一个元素
    parentNode.insertBefore(newElement,targetElement)
    * */
    var h = document.createElement("h1");
    var txt = document.createTextNode("我是老大");
    h.appendChild(txt);

    /*获取parent*/
    var parent = document.getElementById("parent");
    var one = document.getElementById("one");
    var two = document.getElementById("two");


    parent.insertBefore(h,one);


    var p = document.createElement("p");
    var txt2 = document.createTextNode("我是老三");
    p.appendChild(txt2);

    parent.insertBefore(p,two);
</script>

删除节点

<div id="parent">
    <p id="child">hello world</p>
</div>
<script>
    /*
    * parentNode.removeChild(childNode)
    * */
    var parent = document.getElementById("parent");
    var child = document.getElementById("child");
    parent.removeChild(child)
</script>

修改节点

<div id="parent">
    <p id="child">hello world</p>
    <!--<h1>修改</h1>-->
</div>
<script>
    /*
    parentNode.replaceChild(newElment,targetElement)
    * */
    var parent = document.getElementById("parent");
    var child = document.getElementById("child");

    var h = document.createElement("h1");
    var txt = document.createTextNode("修改");
    h.appendChild(txt);

    parent.replaceChild(h,child)
</script>

input输入框背景色改变

<input type="text" id="input"/>
<script>
    var input = document.getElementById("input");
    input.onfocus=function(){
        this.style.background="red";
    };
    input.onblur=function(){
        this.style.background="pink"
    }
</script>

鼠标点击、进入、退出,背景色的改变

//css
    <style>
        div{
            width:100px;
            height:100px;
            background-color: red;
        }
    </style>
//HTML
<div id="test">

</div>
<script>
    var test = document.getElementById("test");
    test.onmouseover=function(){
        this.style.background="pink"
    };
    test.onmouseout=function(){
        this.style.background="green"
    }
</script>

条件判断

1.鼠标点击时如果背景是红,变为粉红,如果背景是粉红,变为红
//css
    <style>
        div{
            width:100px;
            height:100px;
        }
    </style>

//HTML
<div id="test" style="background: red">
</div>
<script>
    var test = document.getElementById("test");
    test.onclick=function(){
        var color = this.style.background;
        if(color=="red"){
            this.style.background="pink"
        }else{
            this.style.background="red"
        }
    }
</script>
*  背景色用内联样式,不然会出点小问题
2.a>=18时为成年人,其他则为未成年人
<script>
    var a=3;
    if(a>=18){
        alert("成年人")
    }else{
        alert("未成年")
    }
</script>
3.当sex为男时,弹出"可以逛xxx网站",当sex为女时,弹出"不欢迎逛xxx网站,可以找许峰",当sex为其他时,弹出"自己想办法"
<script>
    var sex="男";
    if(sex=="男"){
        alert("可以逛xxx网站")
    }else if(sex=="女"){
        alert("不欢迎逛xxx网站,可以找许峰")
    }else{
        alert("自己想办法")
    }
</script>
4.当sex为女时,弹出"可以生娃",当sex为男时,弹出"喜欢看片",当sex为其它时,弹出"自己玩"
<script>
    var sex="女";
    switch (sex){
        case "男":
            alert("喜欢看片");
            break;
        case "女":
            alert("可以生娃");
            break;
        default :
            alert("自己玩")
    }
</script>

循环

1.当a<5时,依次弹出小于的值
<script>
    var a=1;
    while(a<5){
        alert(a);
        a++;
    }
</script>
2.当i<5时,在控制台可以看到小于的值
<script>
    for(var i=0;i<5;i++){
        console.log(i);
    }
</script>
3.li中,所有奇数行为红色,所有偶数行为粉红色
<ul>
    <li class="item">0</li>
    <li class="item">1</li>
    <li class="item">2</li>
    <li class="item">3</li>
    <li class="item">4</li>
    <li class="item">5</li>
</ul>
<script>
    var lis = document.getElementsByClassName("item");
    for(var i=0;i<lis.length;i++){
        if(i%2==0){
            lis[i].style.background="pink"
        }else{
            lis[i].style.background="red"
        }
    }
</script>
4.可以在控制台看到arr中的数字和yu中的内容依次排列
<script>
    var arr = [1,2,3,4,5,6];
   for(var key in arr){
     console.log(arr[key])
  }
    var yu = {
        name:"yuchangshuai",
        age:24,
        sex:"男"
    };
    for(var k in yu){
        console.log(yu[k])
    }
</script>

相关文章

网友评论

    本文标题:javascript day02

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