如何用JavaScript去操作HTML元素和CSS样式

第3章 你也有控制权(DOM操作)

如何用JavaScript去操作HTML元素和CSS样式,实现简单的动态操作。

  • 3-1 认识DOM
  • 3-2 通过ID获取元素
  • 3-3 innerHTML 属性
  • 3-4 改变 HTML 样式
  • 3-5 显示和隐藏(display属性)
  • 3-6 控制类名(className 属性)

第4章 编程挑战

不断实践,提高技能。

  • 4-1 编程挑战
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>认识DOM</title>
    </head>
    <body>
        <p>HTML文档可以说由节点构成的集合,三种常见的DOM节点:</p>
        <ol>
            <li>元素节点:&lt;html&gt;、&lt;body&gt;、&lt;p&gt;等都是元素节点,即标签。如图一</li>
            <li>文本节点:向用户展示的内容,如&lt;li&gt;...&lt;/li&gt;中的JavaScript、DOM、CSS等文本。</li>
            <li>属性节点:元素属性,如&lt;a&gt;标签的链接属性href="http://www.dhnblog.com/"。如图二</li>
        </ol>
        <p><img src="images/demo3-1-1.jpg" title="图一"></p>
        <p><img src="images/demo3-1-2.jpg" title="图二"></p>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>通过ID获取元素</title>
    </head>
    <body>
        <h3>hello</h3>
        <p id=‘con‘>i love javascript</p>
        <p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p>
        <script>
             // document.getElementById("id") 
             var mystr=document.getElementById(‘con‘);
             document.write(mystr);
             /*
             object HTMLParagraphElement 对象 HTML段落元素,获取到的是元素,这个元素也就是对象,
             获取到的对象不会显示里面的值,所以显示object HTMLParagraphElement,想要抽取出里面的值,就用 innerHTML 获取
             获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。
             */
        </script>
    </body>
</html>
<!DOCTYPE>
<html>
    <head>
        <meta charset="utf-8">
        <title>innerHTML 属性</title>
<!--         <script type="text/javascript">
            // Object.innerHTML//语法
            var mycon=document.getElementById(‘con‘);
            document.write(‘P标签原始内容:‘+mycon.innerHTML+‘<br >‘);
            mycon.innerHTML="今天阳光明媚";
            document.write(‘P标签现在内容:‘+mycon.innerHTML+‘<br >‘);
        </script> -->
    </head>
    <body>
        <p id="con">你好4月份</p>
        <p>当js写在这个头部,报错Uncaught TypeError: Cannot read property ‘innerHTML‘ of null</p>
        <!-- 浏览器截图效果展示 -->
        <p><img src="images/demo3-3-1.jpg" ></p>
        <p><img src="images/demo3-3-2.jpg" ></p>
    </body>
    
    <script type="text/javascript">
        // Object.innerHTML//语法
        var mycon=document.getElementById(‘con‘);
        document.write(‘P标签原始内容:‘+mycon.innerHTML+‘<br >‘);
        mycon.innerHTML="今天阳光明媚";
        document.write(‘P标签现在内容:‘+mycon.innerHTML+‘<br >‘);
    </script>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>改变 HTML 样式</title>
        <script type="text/javascript">
            // Object.style.property=new style;
            // Object是获取的元素对象,如通过document.getElementById("id")获取的元素。
            // property属性
        </script>
    </head>
    <body>
        <p id="con">hello world</p>
        <script type="text/javascript">
            var mycon=document.getElementById(‘con‘);
            mycon.style.color=‘#fff‘;
            mycon.style.fontSize=‘18px‘;
            mycon.style.backgroundColor=‘green‘;
        </script>
        <p>基本属性表(property):</p>
        <img src="images/demo3-4-1.jpg" >
        <img src="images/demo3-4-2.jpg" >
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>显示和隐藏(display属性)</title>
    </head>
    <body>
        <p id="ceshi">做为一个Web开发师来说,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具。</p>
        <script type="text/javascript">
            // Object.style.display = value
            var ceshi=document.getElementById(‘ceshi‘);
            function ceshi1(){
                ceshi.style.display=‘none‘;
            }
            function ceshi2(){
                ceshi.style.display=‘block‘;
            }
        </script>
    <form action="" method="">
        <input type="button" name="" id="" value="显示内容" onclick="ceshi2()"/>
        <input type="button" name="" id="" value="隐藏内容" onclick="ceshi1()"/>
    </form>
    <p>value取值:</p>
    <img src="images/demo3-5-1.jpg" >
    <p>代码展示:</p>
    <img src="images/demo3-5-2.jpg" >
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>控制类名(className 属性)</title>
        <script type="text/javascript">
            /*object.className = classname
            1.获取元素的class 属性
            2. 为网页内的某个元素指定一个css样式来更改该元素的外观*/
        </script>
        <style type="text/css">
            .mychang{
                color: #fff;
                background-color: #f90;
                height: 60px;
                width: 80%;
                line-height: 60px;
                font-size: 16px;
            }
            .ceshi{
                font-size: 18px;
                color: #008000;
            }
        </style>
    </head>
    <body>
        <p id="add"> JavaScript使网页显示动态效果并实现与用户交互功能</p>
        <input type="button" name="" id="" value="添加样式" onclick="myadd()"/>
        <h3 id="change" class="one">JavaScript使网页显示动态效果并实现与用户交互功能</h3>
        <input type="button" name="" id="" value="更改外观" onclick="mychange()"/>
        <script type="text/javascript">
            function myadd(){
                document.getElementById(‘add‘).className=‘ceshi‘
            }
            function mychange(){
                document.getElementById(‘change‘).className=‘mychang‘;
            }
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>控制类名(className 属性)补充</title>
        <style type="text/css">
            .one{
                font-size: 14px;
                width: 200px;
                color: red;
            }
            .two{
                font-size: 20px;
                width: 400px;
                color: green;
            }
        </style>
    </head>
    <body>
        <p id="str" class="one">郁闷,又丢了U盘</p>
        <form action="" method="">
            <input type="button" name="" id="" value="点击更改" onclick="modifyclass()"/>
        </form>
        <script type="text/javascript">
            var mystr=document.getElementById(‘str‘);
            document.write(‘p元素的class值为:‘+mystr.className+‘<br />‘)
            function modifyclass(){
                mystr.className=‘two‘
            }
        </script>
        <p>代码展示:</p>
        <img src="images/demo3-6-1.jpg" >
        <img src="images/demo3-6-2.jpg" >
    </body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="txttent-Type" txttent="text/html; charset=gb2312" />
<title>style样式</title>
<style type="text/css">
*{ font-size:12px;}
#txt{
    height:400px;
    width:600px;
    border:#333 solid 1px;
    padding:5px;
    
    }
p{
    line-height:18px;
    text-indent:2em;}
</style>
</head>
<body>
  <h2 id="con">JavaScript课程</H2>
  <div id="txt"> 
   <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>
  <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>
   <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>
   <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>
  
  </div>
  <form>
  <input type="button" value="改变颜色" onClick="dcolor()">
  <input type="button" value="改变宽高" onClick="dwh()">
  <input type="button" value="隐藏内容" onClick="dh()">
  <input type="button" value="显示内容" onClick="ds()">
  <input type="button" value="恢复" onClick="dclear()">
  
  </form>
  <script type="text/javascript">
function dcolor(){
     var mychar = document.getElementById("txt");  
     mychar.style.color="red";
     mychar.style.backgroundColor="#ccc";
    }
   
function dwh(){
     var mychar = document.getElementById("txt");  
     mychar.style.width="400px";
     mychar.style.height="200px";
    }

function dh(){
     var mychar = document.getElementById("txt");  
     mychar.style.display="none";
    }

function dclear(){
    if(confirm("确定要取消设置吗?")){
     var mychar = document.getElementById("txt");  
     mychar.style.color="#000";
     mychar.style.backgroundColor="#fff";
     mychar.style.width="600px";
     mychar.style.height="400px";
     mychar.style.display="block";
    }
    }
function ds(){
     var mychar = document.getElementById("txt");  
     mychar.style.display="block";
    }
  </script>
</body>

</html>

相关推荐