JavaScript -- 時光流逝(十二):DOM -- Element 對象

来源:https://www.cnblogs.com/ChengWenHao/archive/2018/11/08/JavascriptPart12.html
-Advertisement-
Play Games

JavaScript: 知識點回顧篇(十二):DOM -- Element 對象 ...


JavaScript -- 知識點回顧篇(十二):DOM -- Element 對象

(1) element.accessKey: 設置或返回accesskey一個元素,使用 Alt + 指定快捷鍵 為元素賦予焦點

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
    function my_accesskey(){
      document.getElementById('a1').accessKey="B"; //按ALt+B,id是a1的元素獲得焦點
      document.getElementById('a2').accessKey="H"; //按ALt+H,id是a1的元素獲得焦點
    }
</script>
</head>
<body>
    <a id="a1" href="https://www.baidu.com/">百度</a><br/>
    <a id="a2" href="https://www.hao123.com/">Hao123</a><br/>
    <input type="button" value="點我" onclick="my_accesskey()"/>
</body>
</html>

   

 
(2) element.addEventListener(): 向指定元素添加事件句柄

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
    <input type="button" id='myBtn' value="點我" />
    <div id='myInfo'></div>
    <script type="text/javascript">
        document.getElementById("myBtn").addEventListener("click", function(){
            document.getElementById("myInfo").innerHTML = "Hello World";
        });
    </script>
</body>
</html>


(3) element.appendChild(): 為元素添加一個新的子元素

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_appendChild() {
            var node = document.createElement("LI");
            var textnode = document.createTextNode("CCC");
            node.appendChild(textnode);
            document.getElementById("myList").appendChild(node);
        }
    </script>
    </head>
<body>
    <ul id="myList"><li>AAA</li><li>BBB</li></ul>
    <input type="button" value="按鈕" onclick="my_appendChild()" />
</body>
</html>

 


(4) element.attributes: 返回一個元素的屬性數組

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_attributes() {
            var btn = document.getElementsByTagName("BUTTON")[0];
            document.getElementById("myInfo").innerHTML = btn.attributes.length;
        }
    </script>
    </head>
<body>
    <button id="btn1" onclick="my_attributes()">點我</button>
    <div id="myInfo"></div>
</body>
</html>

 


(5) element.childNodes: 返回元素的一個子節點的數組

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_achildNodes() {
            var txt = "";
            var c = document.body.childNodes;
            for (i = 0; i < c.length; i++) {
                txt = txt + c[i].nodeName + "<br/>";
            };
            document.getElementById("myInfo").innerHTML = txt;
        }
    </script>
    </head>
<body>
    <button id="btn1" onclick="my_achildNodes()">點我</button>
    <div id="myInfo"></div>
</body>
</html>

 


(6) element.children: 返回元素的子元素的集合

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_children() {
            var c = document.body.children;
            var txt = "";
            var i;
            for (i = 0; i < c.length; i++) {
                txt = txt + c[i].tagName + "<br/>";
            }
            document.getElementById("myInfo").innerHTML = txt;
        }
    </script>
    </head>
<body>
    <button id="btn1" onclick="my_children()">點我</button>
    <div id="myInfo"></div>
</body>
</html>

 

 
(7) element.classList: 返回元素的類名。
     element.className: 設置或返回元素的class屬性

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>myTest</title>
    <style>
        .mystyle {
            background-color: red;
        }
    </style>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_classList() {
            document.getElementById("div1").classList.add("mystyle");
            document.getElementById("myInfo").innerHTML = document.getElementById('div1').className;
        }
    </script>
    </head>
<body>
    <button id="btn1" onclick="my_classList()">點我</button>
    <div id="div1">Hello</div>
    <div id="myInfo"></div>
</body>
</html>

  

 

(8) element.cloneNode(): 克隆某個元素

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>myTest</title>
    <style>
        .mystyle {
            background-color: red;
        }
    </style>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_cloneNode() {
            var itm = document.getElementById("myList2").lastChild;
            var cln = itm.cloneNode(true);
            document.getElementById("myList1").appendChild(cln);
        }
    </script>
    </head>
<body>
    <ul id="myList1"><li>AAA</li><li>BBB</li></ul>
    <ul id="myList2"><li>CCC</li><li>DDD</li></ul>
    <button id="btn1" onclick="my_cloneNode()">點我</button>
</body>
</html>

     


(9) element.compareDocumentPosition(): 比較兩個元素的文檔位置。返回值可能是:

    1:沒有關係,這兩個節點不屬於同一個文檔。

    2: 第一節點(P1)位於第二個節點後(P2)。

    4:第一節點(P1)定位在第二節點(P2)前。

    8: 第一節點(P1)位於第二節點內(P2)。

    16: 第二節點(P2)位於第一節點內(P1)。

    32:沒有關係的,或是兩個節點在同一元素的兩個屬性。
    element.contentEditable: 設置或返回元素的內容是否可編輯。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>myTest</title>
    <style>
        .mystyle {
            background-color: red;
        }
    </style>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_compareDocumentPosition() {
            var p1 = document.getElementById("p1").lastChild;
            var p2 = document.getElementById("p2").lastChild;
            document.getElementById("myInfo").innerHTML = p1.compareDocumentPosition(p2) + '<br/>';
            document.getElementById("myInfo").innerHTML += p2.compareDocumentPosition(p1) + '<br/>';
        }
        function my_contentEditable() {
            document.getElementById("p1").contentEditable = true;
        }
    </script>
    </head>
<body>
    <p id="p1">122</p>
    <p id="p2">133</p>
    <button id="btn1" onclick="my_compareDocumentPosition()">按鈕1</button>
    <button id="btn2" onclick="my_contentEditable()">按鈕2</button>
    <div id="myInfo"></div>
</body>
</html>

    


(10) element.dir: 設置或返回一個元素中的文本方向
   element.firstChild: 返回元素的第一個子節點
   element.getAttribute(): 返回指定元素的屬性值
   element.getAttributeNode(): 返回指定屬性節點

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>myTest</title>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_Test() {
            document.getElementById("myInfo").innerHTML = document.getElementById('p1').dir + '<br/>';
            document.getElementById("myInfo").innerHTML += document.getElementById('p2').dir + '<br/>';
            document.getElementById("myInfo").innerHTML += document.firstChild.nodeName + '<br/>';
            document.getElementById("myInfo").innerHTML += document.getElementById('p1').getAttribute("dir")+ '<br/>';
            document.getElementById("myInfo").innerHTML += document.getElementById('p2').getAttributeNode("dir").value + '<br/>';
        }
    </script>
    </head>
<body>
    <p id="p1" dir="rtl">Hello A</p>
    <p id="p2" dir="ltr">Hello B</p>
    <button id="btn1" onclick="my_Test()">按鈕</button>
    <div id="myInfo"></div>
</body>
</html>

  

 
(11) element.hasAttribute(): 如果元素中存在指定的屬性返回 true,否則返回false。
   element.hasAttributes(): 如果元素有任何屬性返回true,否則返回false。
  element.hasChildNodes(): 返回一個元素是否具有任何子元素
  element.hasFocus(): 返回布爾值,檢測文檔或元素是否獲取焦點

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>myTest</title>
    <meta charset="utf-8" />
    <script type="text/javascript">
        function my_Test() {
            document.getElementById("myInfo").innerHTML = document.getElementById('btn1').hasAttribute("onclick") + '<br/>';
            document.getElementById("myInfo").innerHTML += document.getElementById('btn1	   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、CSS CSS(cascading style sheet,層疊樣式表)定義如何顯示HTML元素。 當瀏覽器讀到一個樣式表,它會按照這個樣式表來對文檔進行格式化(渲染)。 1、CSS語法 每個CSS樣式由兩個部分組成:選擇器 + 聲明(屬性、屬性值) 每個聲明之後加;分號結束! 2、CSS註釋 ...
  • css樣式佈局時, 背景圖,外盒子,內圖片, 盒子的寬100%; 不能將高度寫死, 希望高度跟隨設備的寬而定: 外層相對定位,高度為零,padding-top:100%; 內層絕對定位,寬高100%,將外層撐開。 ...
  • 最近寫公司項目有涉及到輪播banner,一般的ui框架無法滿足產品需求;所以自己寫了一個層疊式輪播組件;現在分享給大家; 主要技術棧是vue.js ;javascript;jquery;確定實現思路因工作繁忙,暫時不做梳理了;直接貼代碼參考; 此組件是基於jquer封裝,在vue項目中使用首先需要先 ...
  • 【教程】ThingJS 3D開發快速入門 第一講 開發概述·優勢·項目流程 優酷:http://v.youku.com/v_show/id_XMzkwOTQ1MDYwMA==.html 騰訊視頻:https://v.qq.com/x/page/z0784xo63h2.html 愛奇藝:http:// ...
  • 最近博住接到個任務 FusionCharts生成數據發現一個問題 只有點擊才切換顯示 而且載入不出現全部,改成這樣 然後在生成部分添加如下代碼 就ok了 每天記錄一點感謝大家。 ...
  • 歡迎大家前往 "騰訊雲+社區" ,獲取更多騰訊海量技術實踐乾貨哦~ 本文由 "MarsBoy" 發表於 "雲+社區專欄" 1 控制台 這裡的控制台特指PC端瀏覽器進入開發者模式之後新打開的操作界面。常見的控制台有Chrome的控制台,Firefox的firebug。這些都能幫助我們調試前端問題。本手 ...
  • 這是今天運行vue項目報的一個錯誤,特地在此記錄一下。 錯誤信息如下: 錯誤原因: 造成這個錯誤的原因除了你手動把文件路徑寫錯了外,還一個可能是所使用的編輯器造成的,當更改了文件目錄或者文件名後,編輯器會聰明的把一些認為有關聯的路徑也一併修改了,顯然聰明過了頭~ 再來個錯誤截圖: ...
  • Object.keys 返回一個所有元素為字元串的數組,其元素來自於從給定的object上面可直接枚舉的屬性。這些屬性的順序與手動遍歷該對象屬性時的一致。 // 表單清空 Object.keys(this.formValue).forEach((key) => { this.formValue[ke ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...