DOM簡介及節點、屬性、查找節點的方法

来源:http://www.cnblogs.com/ypLive/archive/2017/11/15/7840774.html
-Advertisement-
Play Games

DOM(Document Object Modle) 操作文檔的編程介面DOM定義了表示和修改文檔的方法,不能修改css樣式表,在js中使用DOM方法改變元素的css樣式,實質上是在元素上添加行間樣式。DOM對象就是宿主對象,用來操作HTML和xml功能對象的集合。 xml——>xhtml——>ht ...


DOM(Document Object Modle) 操作文檔的編程介面
DOM定義了表示和修改文檔的方法,不能修改css樣式表,在js中使用DOM方法改變元素的css樣式,實質上是在元素上添加行間樣式。
DOM對象就是宿主對象,用來操作HTML和xml功能對象的集合。 xml——>xhtml——>html4.0——>html5
HTML和xml的區別:除了xml可以自定義標簽外基本上沒區別,xml被json替代了。

document,單獨寫的時候,它代表整個文檔,隱式的寫在html標簽的上一層,html只是文檔中的根標簽。

 註意點:BOM、DOM成組的東西都是類數組,而不是數組。

 

獲取元素的方法:
getElementById();
在IE8以下的瀏覽器不區分id值得大小寫,並且匹配元素的name的屬性值。由於後臺會修改id值,所以儘量不用或少用id。
getElementsByTagName();標簽名,所有瀏覽器都支持
getElementsByClassName(); IE8及其以下得瀏覽器不支持

getElementsByName(); 在舊版本中,只有能提交請求的標簽的name才生效(form、表單元素、img、iframe)
document.querySelector(); css選擇器,IE7及以下不相容,並且不具有實時性。
document.querySelectAll();

節點類型:
元素節點 1
屬性節點 2
文本(text)節點 3 // 文本、空格、回車等都是文本節點
註釋(comment)節點 8
document節點 9
documentfragment 11

遍歷節點數
parentNode 子節點的父節點,最終的parentNode節點是document節點。
childNodes 父節點的所有子節點,元素節點、註釋節點、文本節點
firstChild 第一個子節點
lastChild 最後一個子節點
nextSibling 下一個兄弟節點
previousSibling 前一個兄弟節點

遍歷元素節點數:(除了children節點,其他的都是IE9及以下不相容)
parentElement 元素的父元素節點,最終的父元素節點是html元素,document是自成節點。
children 父元素下的元素子節點。
node.childElementCount === node.children.length 當前子節點的元素子節點個數。用children.length。
firstElementChild 第一個元素子節點
lastElementChild 最後一個元素子節點
nextElementSibling、previousElemnetSibling

 

節點的四個屬性:
nodeName 除了元素節點,返回的結果前面都有一個‘#’,而元素節點返回大寫形式的標簽名,類型都為只讀。
nodeValue 只用於文本節點和註釋節點,可讀寫。
nodeType 返回數字,該數字代表對應的節點類型。只讀
attributes 元素節點的屬性集合。
node.hasChildNodes()方法,判斷父節點裡面是否有子節點,返回結果為布爾值。

 


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

-Advertisement-
Play Games
更多相關文章
  • 靜態方法和實例方法的區別主要體現在兩個方面: 在外部調用靜態方法時,可以使用"類名.方法名"的方式,也可以使用"對象名.方法名"的方式。而實例方法只有後面這種方式。也就是說,調用靜態方法可以無需創建對象。 靜態方法在訪問本類的成員時,只允許訪問靜態成員(即靜態成員變數和靜態方法),而不允許訪問實例成 ...
  • 有一個模式可以幫助你的對象知悉現況,不會錯過該對象感興趣的事,對象甚至在運行時可以決定是否要繼續被通知,如果一個對象狀態的改變需要通知很多對這個對象關註的一系列對象,就可以使用觀察者模式 。觀察者模式也是JDK中使用最多的一個設計模式,而我們本章討論的就是它。 那麼首先,我們先來看一看此模式的定義: ...
  • 首次接觸倉儲的概念來自Eric Evans 的經典著作《領域驅動設計-軟體核心複雜性應對之道》,但書中沒有具體實現。如何實現倉儲模式,在我這幾年的使用過程中也積累了一些具體的實施經驗。根據項目的大小、可維護性、可擴展性,以及併發我們可以做以下幾種設計; 1、項目小,擴展性差 public inter... ...
  • 什麼是適配器模式? 適配器模式(Adapter):將一個類的介面轉換成客戶希望的另外一個介面。 Adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。 什麼時候運用適配器模式? 在想使用一個已經存在的類時,如果它的介面,也就是它的方法與我們當前的要求不相同時,就需要考慮用到適配 ...
  • 負載均衡集群企業級應用實戰-LVS 實現基於LVS負載均衡集群的電商網站架構 背景:隨著業務的發展,網站的訪問量越來越大,網站訪問量已經從原來的1000QPS,變為3000QPS,網站已經不堪重負,響應緩慢,面對此場景,單純靠單台LNMP的架構已經無法承載更多的用戶訪問,此時需要用負載均衡技術,對網 ...
  • 策略模式,顧名思義就是設計一個策略演算法,然後與對象拆分開來將其單獨封裝到一系列策略類中,並且它們之間可以相互替換。首先LZ舉一個例子為大家引出這一個模式。 例子:某公司的中秋節獎勵制度為每個員工發放200元,現在我們設計一個員工基類, 然後讓公司各個職位繼承它。(普通員工GeneralStaff 項 ...
  • Title {{message}} {{num1+num2}} {{temp?name:name2}} 大人們往往會因為小孩子們崇拜拾荒者、郵差以及起重機司機而感到擔憂,但現在看來,比起我們成年人所崇拜的那些好萊塢大糞坑裡的蛆,孩子們的理想似乎要崇高的多。 ... ...
  • Project 可以理解為項目、工程或者站點,以下稱項目。使用項目管理的好處是:不用將所有文件都放到同一個根目錄,可以將相關但不同路徑的文件組成一個Project,每個項目都是獨立的,文件的狀態等都會被保存,因此只需一個視窗便可以在多個項目中隨意切換。 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...