溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js的DOM編程基礎

發布時間:2020-07-26 05:20:27 來源:網絡 閱讀:415 作者:匯天下豪杰 欄目:開發技術

1、DOM編程

  是文件對象模型,是可擴展的編程語言的接口,是專門為修改標簽服務的;

  思路:先找要修改的標簽,對其進行增加/修改,可以修改某一個屬性/樣式,從而讓標簽動起來;

  DOM是和js結合來使頁面動起來的;


2、DOM選擇器

(1)、找標簽的:(document是一個對象)

  document.getElementById('id');    //id是唯一的

  document.getElementsByName('name');   //名字可以相同

  document.getElementsByTagName('tagname');  //通過標簽查找(a、p、div、)

(2)、創建標簽

  document.createElement('a');

(3)、獲取/修改樣式

  obj.className

(4)、獲取/設置屬性

  setattribute(key, val);   getattribute(key); 

(5)、獲取/修改樣式中的屬性

  obj.style.屬性

注意:js中的屬性名稱可能和CSS中的名稱不一致:

以上方法的示例如下:

<!DOCTYPE html>

<html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <title>js1</title>
        <style>
            .show{
                
            }
            .hide{
                display:none
            }
        </style>
    </head>
    
    <body>
        <div id = 't1'>abc</div>
        <div id = 't2'>d<span>e</span>f</div>
        <hr/>
        
        
        <!--
        <script type='text/javascript'>    
            var id1 = document.getElementById('t1'); //文檔對象
            console.log(id1.innerText);  //獲得標簽內容
            id1.innerText = '123';  //對標簽內容進行修改
            console.log(id1.innerText);
            var id2 = document.getElementById('t2'); //文檔對象
            console.log(id2.innerHTML); //innerText和innerHTML等價
        </script>-->
<!--
            <div id = '123'>abcdefghijkl</div>
            <hr/>
            <div name = 't1'>jkl</div>
            <hr/>
            <div name = 't1'>uio</div>
            <hr/>
            <script type = 'text/javascript'>
                var s = document.getElementById('123');
                s.innerText = 'hao';
                var names = document.getElementsByName('t1');
                //names[0].innerText = 'de';
                //names[1].innerText = 'hen';
                for(var items in names){
                    names[items].innerText = 'zaima?';
                }
                var all = document.getElementsByTagName('div');
                for(var items in all){
                all[items].innerText = 'xing';
            }
-->
<!--
        <div id = 't1' class = 'show' name = 'alex'>內容</div>    
        <div id = 't2' style = 'width:500px;height:200px;border:2px solid #333;'></div>
-->        
        <!--
        <form id = ‘F1’ action = 'https://www.sogou.com/web?' method = 'GET'>
            <input type = 'text' name = 'query'/>   
            <input type = 'submit' value = '提交' />
            <input type = 'button' value = '偽提交' onclick = 'Foo();' />
                //點擊執行Foo()函數,是一個事件
        </form>
        
        <script type = 'text/javascript'>
        /*創建標簽方法1、
            var tag = document.createElement('a');
            tag.href = 'http://www.baidu.com.cn'
            tag.innerText = '點我啊';
            var id1 = document.getElementById('t1');  //尋找父容器
            id1.appendChild(tag);
        */
        /*
        創建標簽方法2、
        var tag = "<a href = 'http://www.baidu.com.cn'>走你</a>";
        var id1 = document.getElementById('t1');
        id1.innerHTML = tag;
        */            
        /*
        var id1 = document.getElementById('t1');
        id1.className = 'hide';   //修改className
        */
        /*
        var id1 = document.getElementById('t1');
        console.log(id1.getAttribute('name')); //獲取屬性
        id1.setAttribute('name', 'oldboy');
        console.log(id1.getAttribute('name'));
        
        var id1 = document.getElementById('t2');
        console.log(id1.style.width);
        */
        提交表單
        function Foo(){
            var id1 = document.getElementById('F1');
            id1.submit();
        }
        </script>  -->
    </body>
</html>

3、常用事件

當設置事件時,相應的執行操作會執行其所對應的函數。

  onclick:點擊事件

  onfocus:元素獲得焦點

  onblur:元素失去焦點

一個應用(搜索框):

<!DOCTYPE html>

<html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <title>頁面一</title>
        <style>
            .gray{
                color:gray;
            }
            .black{
                color:black;
            }
        </style>
    </head>
    
    <body>
        <input type = 'text' class = 'gray' id = 'tip' value = '請輸入關鍵字' 
        onfocus = 'Enter();' onblur = 'Leave();'/>
        
        <script type = 'text/javascript'>
            function Enter(){
                var id = document.getElementById('tip');
                id.className = 'black';
                
                if(id.value == '請輸入關鍵字' || id.value.trim() == ''){
                    id.value = '';
                }
            }
            function Leave(){
                var id = document.getElementById('tip');
                var val = id.value;
                
                if(val.length == 0 || id.value.trim() == ''){
                    id.className = 'gray';
                    id.value = '請輸入關鍵字';
                }else{
                    id.className = 'black';
                }
            }
        </script>
    </body>
</html>

運行結果

js的DOM編程基礎

js的DOM編程基礎

撤走之后,沒有內容又會恢復原樣?。?!



向AI問一下細節
推薦閱讀:
  1. JS之DOM那些事
  2. DOM 基礎

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女