欧美videos另类精品-欧美videos另类极品-欧美vide-欧美va在线视频-欧美va在线观看-欧美va在线播放免费观看

前端學(xué)習(xí)之JavaScript DOM以及DOM操作的基礎(chǔ)知識

2020-4-18    前端達(dá)人

在了解了javascript的語言基礎(chǔ)和特性后

javascript真正大放光彩的地方來了——這就是javascript DOM


Javascript DOM
DOM(Document Object Model),文檔對象模型。

是W3C組織推薦的處理可擴展標(biāo)記語言(HTML或者XML)的標(biāo)準(zhǔn)編程接口;W3C已經(jīng)定義了一系列DOM接口,通過這些DOM接口可以改變網(wǎng)頁的內(nèi)容、結(jié)構(gòu)和樣式。

簡單的說就是一套操作文檔內(nèi)容的方法。

需要注意的是,我們需要把DOM當(dāng)作一個整體,不能分割看待,即DOM(文檔對象模型)是一套操作文檔內(nèi)容的方法。


  • 文檔:一個頁面就是一個文檔,DOM中使用document表示
  • 元素:頁面中的所有標(biāo)簽都是元素,DOM中使用element表示
  • 節(jié)點:網(wǎng)頁中的所有內(nèi)容都是節(jié)點(標(biāo)簽、屬性、文本、注釋等),DOM中使用node表示

DOM把以上內(nèi)容看作都是對象

<!DOCTYPE html>
<html>
<head>
    <title>Shopping list</title>
    <meta charset="utf-8">
</head>
<body>
<h1>What to buy</h1>
<p id="buy" title="a gentle reminder">Don't forget to buy this stuff</p>
<ul id="purchases">
    <li>A tin od beans</li>
    <li>Cheese</li>
    <li>Milk</li>
</ul>
</body>
</html>



用樹表示這個網(wǎng)頁的結(jié)構(gòu):

aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2ktYmV0YS8xODQ2ODAyLzIwMTkxMi8xODQ2ODAyLTIwMTkxMjIzMTcxMDI5MTY1LTExNTE0OTgxMDMucG5n.jpg

1、獲取DOM四種基本方法
1、getElementById()

2、getElementsByTagname()

3、getAttribute()

4、setAttribute()

 

常用的兩種解析:

1. getElementById():

參數(shù):元素的ID值。 (元素節(jié)點簡稱元素) 
返回值:一個有指定ID的元素對象(元素是對象) 
注:這個方法是與document對象相關(guān)聯(lián),只能由document對象調(diào)用。 
用法:document.getElementById(Id) 

例:

<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div id="time">2020-04-16</div>
    <script>
        // 1. 因為我們文檔頁面從上往下加載,所以先得有標(biāo)簽 所以我們script寫到標(biāo)簽的下面
        // 2. get 獲得 element 元素 by 通過 駝峰命名法 
        // 3. 參數(shù) id是大小寫敏感的字符串
        // 4. 返回的是一個元素對象
        var timer = document.getElementById('time');
        console.log(timer);
        console.log(typeof timer);
        // 5. console.dir 打印我們返回的元素對象 更好的查看里面的屬性和方法
        console.dir(timer);
    </script>
</body>

</html>




看一下控制臺打印的是什么

20200416221227181.png


可以看到 console.log(timer)打印出來的是整個div標(biāo)簽

timer類型是個對象

 

2. getElementsByTagName():

參數(shù):元素名
返回值:一個對象數(shù)組。這個數(shù)組里每個元素都是對象,每個對象分別對應(yīng)著文檔里給定標(biāo)簽的一個元素。
注:這個方法可和一般元素關(guān)聯(lián)。這個方法允許我們把通配符當(dāng)作它的參數(shù),返回在某份html文檔里總共有多少個元素節(jié)點。
用法:element.getElementsByTagName(TagName) 

例:

var items=document.getElementsByTagName("li");
items.length;//3
document.getElementsByTagName(“*”);//12
 

 

2、事件基礎(chǔ)
3.1 事件概述
JavaScript使我們有能力創(chuàng)建動態(tài)頁面,而事件是可以被JavaScript偵測到的行為。

簡單理解:觸發(fā)——>響應(yīng)機制

網(wǎng)頁中每個元素都可以產(chǎn)生某些可以觸發(fā)JavaScript的事件,例如,我們可以在用戶點擊某按鈕產(chǎn)生一個事件,然后去執(zhí)行某些操作

3.2 事件三要素
事件源 、事件類型、事件處理程序,我們也稱為事件三要素

(1) 事件源 事件被觸發(fā)的對象   誰  
(2) 事件類型  如何觸發(fā) 什么事件 比如鼠標(biāo)點擊(onclick) 還是鼠標(biāo)經(jīng)過 還是鍵盤按下
(3) 事件處理程序  通過一個函數(shù)賦值的方式 完成

代碼實例

<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <button id="btn">唐伯虎</button>
    <script>
        // 點擊一個按鈕,彈出對話框
        // 1. 事件是有三部分組成  事件源  事件類型  事件處理程序   我們也稱為事件三要素
        //(1) 事件源 事件被觸發(fā)的對象   誰  按鈕
        var btn = document.getElementById('btn');
        //(2) 事件類型  如何觸發(fā) 什么事件 比如鼠標(biāo)點擊(onclick) 還是鼠標(biāo)經(jīng)過 還是鍵盤按下
        //(3) 事件處理程序  通過一個函數(shù)賦值的方式 完成
        btn.onclick = function() {
            alert('點秋香');
        }
    </script>
</body>

</html>


運行結(jié)果

20200416223238828.png

3.3 執(zhí)行事件的步驟

1、獲取事件源

2、注冊事件(綁定事件)

3、添加事件處理程序(采取函數(shù)賦值形式)

 

代碼實戰(zhàn)


        


<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div>123</div>
    <script>
        // 執(zhí)行事件步驟
        // 點擊div 控制臺輸出 我被選中了
        // 1. 獲取事件源
        var div = document.querySelector('div');
        // 2.綁定事件 注冊事件
        // div.onclick 
        // 3.添加事件處理程序 
        div.onclick = function() {
            console.log('我被選中了');

        }
    </script>
</body>

</html>



常用的DOM事件
onclick事件---當(dāng)用戶點擊時執(zhí)行
onload事件---當(dāng)用戶進(jìn)入時執(zhí)行
onunload事件---用用戶離開時執(zhí)行
onmouseover事件---當(dāng)用戶鼠標(biāo)指針移入時執(zhí)行
onmouseout事件---當(dāng)用戶鼠標(biāo)指針移出時執(zhí)行
onmousedown事件---當(dāng)用戶鼠標(biāo)摁下時執(zhí)行
onmouseup事件---當(dāng)用戶鼠標(biāo)松開時執(zhí)行
 
————————————————
版權(quán)聲明:本文為CSDN博主「那是我吶」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_42402867/article/details/105567787

日歷

鏈接

個人資料

藍(lán)藍(lán)設(shè)計的小編 http://www.73404.com.cn

存檔

主站蜘蛛池模板: 91免费播放 | 色99视频 | 俺去啦最新官网 | 肉文高h调教 | 日b在线| 国产一区二区三区水野朝阳 | 国产三级精品91三级在专区 | 国产一区二区三区水野朝阳 | 亚洲美女啪啪 | 99精品国产在现线免费 | segou视频在线观看 | 亚洲人成在线观看一区二区 | 久草在线草a免费线看 | 亚洲 欧美 中文 日韩 另类 | 99久久久久国产精品免费 | 国产第一福利影院 | 亚洲国产资源 | 激情小视频| 99久久香蕉国产综合影院 | 久久这里只有精品视频e | porno美国xxxx| 好大好爽好涨太深了小喜 | 精品视频 久久久 | 国产成人yy精品1024在线 | 国产午夜免费秋霞影院 | lilisha李丽莎喷水大胆在线 | 91精品国产美女福到在线不卡 | 欧美精品黑人巨大在线播放 | 火影忍者羞羞 | 亚洲第一页综合 | 国产无套在线播放 | 国产手机在线αⅴ片无码观看 | 日韩毛片免费线上观看 | 国产欧美日韩在线不卡第一页 | 青春草视频免费观看 | 奇米成人 | 古装床戏做爰无遮挡三级 | 情缘1完整版在线观看 | 午夜在线观看免费完整直播网页 | 99r8这里精品热视频免费看 | 波多野结衣久久国产精品 |