zoukankan      html  css  js  c++  java
  • javascript基础DOM对象6.0

    9、DOM对象

    HTML代码:

    <div id="dd">
    演示
    </div>

    <ul>
      <li>空调</li>
      <li class = "sp">空空</li>
      <li>冰镇西瓜</li>
    </ul>

    <span class = "sp">
      根据class来获取对象
    </span>

    <p name="pp">name=dd</p>
    <i name="pp">name=dd</i>
    <a name="pp">name</a>

    <ol>
      <li>吃饭</li>
      <li>睡觉</li>
      <li>打豆豆</li>
    <ol>

    javascript代码:

    (1)、通过id来获取元对象

    //根据id值获取  对象
    var obj = document.getElementById("dd");
    //为对象设置css样式  属性值要双引号
    obj.style.color = "red";

    (2)、根据标签名来获取对象

    //document.getElementsByTagName("标签名");返回一个集合【数组】
    //这里取到的是所有li  所以lis里面元素有多个
    var lis = document.getElementsByTagName("li");
    //设置背景颜色为绿色
    lis[2].style.backgroundColor = "green";
    //设置字体颜色为红色
    lis[2].style.color = "red";

    (3)、通过class属性值来获取对象

    //根据class的属性值
    var temps = document.getElementsByClassName("sp");
    //对获取的很多个sp  进行遍历
    for (var i<0; i<temps.length; i++) {
        temps[i].style.color = "orange";
        temps[i].style.backgroundColor = "grey";
        temps[i].style.fontSize = "40px";
    }

    (4)、通过name属性值来获取对象

    //返回一个集合
    var pps = document.getElementsByName("pp");
    
    for (var i=0; i<pps.length; i++) {
        pps[i].style.color = "green";
        pps[i].style.display = "block";
        pps[i].style.border = "1px solid blue";
    }

    (5)、HTML5中新提供的方式

    只返回匹配到的第一个元素,返回的是一个对象。

    //document.querySelector("选择器");
    var fli = document.querySelector("ol>li");
    //只为一个元素设置
    fli.style.color = "blue";

    返回所有匹配的元素,返回值都是集合【数组】 

    //document.querySelectorAll("选择器");
    var olis = document.querySelectorAll("span");
    for (var i=0; i<olis.length; i++) {
        olis[i].style.color = "red";
        olis[i].style.fontSize = "50px";
    }

     (6)、练习

    HTML代码:

    <ul>
        <li>吃饭</li>
        <li>睡觉</li>
        <li>打豆豆</li>
    </ul>

      <ul id="u1">
        <li class="orange">抽烟</li>
        <li>喝酒</li>
        <li>烫头</li>
      </ul>

    练习6-1:点击变为字体变为红色,再次点击变回颜色

    javascript代码:

    //通过js代码绑定事件
    //当使用循环绑定事件时,this指代当前触发事件的元素对象
    var lis = document.getElementsByTagName("li");
    for (var i=0; i<lis.length; i++) {
    //为单个元素添加点击事件
        lis[i].onclick = function() {
    //这里进行判断 如果当前字体颜色为红色  则更改字体颜色
            if(this.style.color = "red") {
                this.style.color = "black";
            }
            else {
                this.style.color = "red";
            }
        };
    }

    练习6-2:鼠标悬停事件,鼠标移动导致颜色变化

    javascript代码:

    var lis = document.querySelectorAll("#ul>li");
    for(var i=0; i<lis.length; i++) {
    //:hover 也可以达到效果
    //鼠标悬停
        lis[i].onmouseover = function() {
            this.className = "orange";
        };
    //鼠标移出
        lis[i].onmouseout = function() {
        this.className = "";
        };
    
    //另一种方式实现
    /*lis[i].onmouseover = function() {
      var temp = document.querySelector("#ul>.orange");  
    temp.className = "";
    //鼠标在上时 此时颜色为橙色 this.className = "orange"; }
    */

     练习6-3:点击块更改背景颜色

    HTML代码:

    <div id="div1" class="redtooarange" index="jds">
    又是美好的一天
    </div>
    <input type="button" id="btn1" value="移出div中的index属性/>

    CSS代码:

    #div1 {
        font-family: "微软雅黑";
        font-size: 40px;
         300px;
        height: 100px;
        text-align: center;
        line-height: 100px;
    }
    .redtooarange{
        color: red;
        background-color: yellow;
    }
    .orange_red {
        color: yellow;
        background-color: red;
    }

    javascript代码:

    方法a

    var obj = document.getElementById("div1");
    obj.onclick = function() {
    //如果点击字体样式为红色   则改变字体为黄  背景为红  
        if(this.style.color = "red") {
            this.style.color = "yellow";
            this.style.backgroundColor = "red";
        }
        else {
    //反之 字体变为红色  背景变为黄色
            this.style.color = "red";
            this.style.backgroundColor = "yellow";
        }
    }

    方法b

    var obj=document.getElementById("div1");
    obj.onclick=function(){
        if(this.className == "redtooarange") {
            this.className = "orange_red";
        }
        else {
            this.className = "redtooarange";
        }
    }

    移除属性

    //获取按钮对象
    var
    btn = document.getElementById("btn1");
    //按钮点击事件 btn.onclick
    = function() {
    //获取div块元素
    var dd = document.getElementById("div1");
    //删除div的属性 dd.removeAttribute(
    "index"); };

    练习6-4:对网页中的文本进行操作

    HTML代码:

    <div id="div1">
        操作内容
    </div>
    <input type="button" id="btn1" value="修改内容" />
    <ul>              
        <li>西瓜</li>   
        <li>葡萄</li>   
    </ul>
    <input type="button" id="btn2" value="添加到 西瓜前" />
    <input type="button" id="btn3" value="添加到 葡萄后" />             

    CSS代码:

    #div1{                       
        width: 400px;            
        height: 400px;           
        border: 1px solid black; 
    }                            

    div块中内容的修改:

    var btn = document.getElementById("btn1");
    btn.onclick = function() {
    //获取div块的对象
        var dd = document.getElementById("div1");
    //标签内部的内容
        dd.innerHTML = "修改了内容";
    //追加内容
        dd.innerHTML += ”追加的内容";
    //追加含有HTML标签的内容
        dd.innerHTML += "<br><span>这是追加的span标签</span>";
    };

     

    在ul块前面添加li元素:

    //用来计数的
    var no = 0;
    var btn2 = document.getElementById("btn2");
    btn2.onclick = function() {
         //获取ul列表对象
        var li = document.createElement("li");
        li.innerHTML = "新增的li" + no;
        no++;
        li.style.color = "green";
        var ul = document.querySelector("ul");
    //找到要插入的位置的标签对象
        var oli = document.querySelector("ul>li");
    
    //将元素插入到指定位置
        ul.insertBefore(li, oli);

    在ul列表后添加li块元素:

    var btn3 = document.getElementById("btn3")'
    btn3.onclick = function() {
        var ul = document.querySelector("ul");
        ul.innerHTML += "<li>香蕉</li>";
    //创建标签对象
        var t = document.createElement("li");
    
    //对对象的操作
        t.innerHTML = "水蜜桃";
        t.style.color = "red";
        t.style.backgroundColor = "green";
        var ul  = document.querySelector("ul");
    
    //把创建的对象,添加到父级元素的末尾
        ul.appendChild(t);
    };

     练习6-5:点击列表中的图片,显示到指定区域

    HTML代码:

    <div id="container">                                                         
        <div><img src="img/Desert.jpg" width="500" height="400" id="img1"/></div>
        <ul>                                                                     
            <li><img src="img/Desert.jpg"/></li>                                 
            <li><img src="img/Hydrangeas.jpg"/></li>                             
            <li><img src="img/Jellyfish.jpg"/></li>                              
            <li><img src="img/Koala.jpg"/></li>                                  
            <li><img src="img/Lighthouse.jpg"/></li>                             
        </ul>        
    </div>                                                                                                   

    CSS代码:

    *{                      
        padding: 0;         
        margin: 0;          
    }                       
    #container{             
        width: 700px;       
        height: 600px;      
        text-align: center; 
        margin: 0 auto;     
    }                       
    ul{                     
        list-style: none;   
    }                       
    ul>li{                  
        float: left;        
        width: 100px;       
        height:80px ;       
        margin-left: 40px;  
    }                       
    ul img{                 
        width: 100px;       
        height:80px;        
    }                       

    javascript代码:

    //获取所有图片 并返回集合
    var imgs= document.querySelectorAll("ul img");   
    //遍历集合中每个图片元素
    for(var i=0;i<imgs.length;i++){               
    //对每个图片对象进行事件绑定   
        imgs[i].onclick=function(){         
    //存放当前被点击图片的路径         
            var src=this.src;                        
    //获取显示区域的对象
            var obj=document.getElementById("img1"); 
    //进行路径赋值
            obj.src=src;                             
        };                                           
    }                                                
  • 相关阅读:
    Mysql优化与使用集锦
    用条件注释判断浏览器版本,解决兼容问题
    高效的使用 Response.Redirect
    JS中字符串的相关操作
    Http压力测试工具HttpTest4Net
    纯CSS(无 JavaScript)实现的响应式图像显示
    jquery使用jsonp进行跨域调用
    JS函数重载解决方案
    C# 实现将 PDF 转文本的功能
    iFrame的妙用
  • 原文地址:https://www.cnblogs.com/HelloM/p/13496953.html
Copyright © 2011-2022 走看看