1. 程式人生 > >DOM(包括獲取元素節點的方法以及獲取和設定元素節點的屬性)

DOM(包括獲取元素節點的方法以及獲取和設定元素節點的屬性)

 1.文件:DOM中的“D” 當建立了一個網頁並把它載入到Web瀏覽器中時,DOM就在幕後悄然而生。它把編寫的網頁轉化為一個文件物件。 2.物件:DOM中的“O” 物件是是一種自足的資料集合,與某個特定物件相關聯的變數被稱為這個物件的屬性;只能通過某個特定物件去呼叫的函式稱為這個物件的方法。 js中物件分為三種: (1)使用者自定義物件 (2)內建物件:內建在js中的物件。包括Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、String以及各種錯誤物件,包括Error、EvalError、RangeError、ReferenceError、SyntaxError和TypeError。 其中Global和Math這兩個物件又被稱為“內建物件”,這兩個物件在指令碼程式初始化時被建立,不必例項化這兩個物件。 (3)宿主物件:由瀏覽器提供的物件。包括DOM和BOM。      window物件對應著瀏覽器視窗本身,這個物件的屬性和方法通常統稱為BOM。      DOM對此昂的主要功能是處理網頁內容。 3.模型:DOM中的“M”
DOM代表載入到瀏覽器視窗的當前網頁,DOM把一份文件表示為一棵家譜樹。瀏覽器提供了網頁的模型,而我們可以通過js去讀取這個模型。 4.節點: DOM由許多不同的節點構成:元素節點、文字節點、屬性節點等 5.獲取元素: 有4種DOM方法可以獲取元素節點: (1)getElementById:document物件特有的函式,返回具有給定id的元素節點對應的物件。 (2)getElementsByTagName:返回一個數組,這個陣列中的每個元素都是物件      允許把萬用字元(“*”)作為引數,可獲取文件中所有元素。      getElementById和getElementsByTagName可結合起來使用:      例如:      var shopping=document.getElementById("purchases");      var items=shopping.getElementsByTagName("*"); (3)getElementsByClassName:(html5 DOM新添的方法)返回一個具有相同類名的元素的陣列。      document.getElementsByClassName("inportant sale");類名的順序與元素中類名的順序不一致並不重要,就算元素帶有更多                 的類名也沒有關係。      getElementsByClassName也可和getElementById結合使用。      這個方法只有較新的瀏覽器才支援它,下面這個函式能適用於新老瀏覽器:
function getElementsByClassName(node,classname){
     if(node.getElementsByClassName){
          return node.getElementsByClassName("classname");
     }else{
          var result=[];
          var elems=document.getElementsByTagName("*");
          for(var i=0,len=elems.length;i<len;i++){
               if(elems[i].className.indexOf(classname)!=-1){
                    result[result.length]=elems[i];
               }
          }
          return result;
     }
}

(4) document.getElementsByName:通過元素名稱來獲取元素物件,返回的是一個數組 6.獲取和設定屬性
getAttribute()和setAttriute()方法不屬於document物件,所以不能通過document物件呼叫,它只能通過元素節點物件呼叫。
這裡有一個細節:通過setAttribute對文件做出修改之後,在通過瀏覽器檢視原始碼時看到的仍將是改變前的屬性值,也就是說setAttribute做出的修改不會反映在文件本身的原始碼裡,這種“表裡不一”的現象源自DOM的工作模式:先載入文件的靜態內容,再動態重新整理,動態重新整理不影響文件的靜態內容。這正是DOM的真正威力:對頁面的內容進行重新整理卻不需要再瀏覽器裡面重新整理。

相關推薦

android 獲取路徑目錄方法 以及 獲取路徑方法

Environment 常用方法: * 方法:getDataDirectory()解釋:返回 File ,獲取 Android 資料目錄。* 方法:getDownloadCacheDirectory()解釋:返回 File ,獲取 Android 下載/快取內容目錄。* 方

Edittext不自動獲取焦點解決方法以及獲取焦點後的事件實現方法

解決之道:在EditText的父級控制元件中找一個,設定成                         android:focusable="true"                      

DOM包括獲取元素節點方法以及獲取設定元素節點屬性

 1.文件:DOM中的“D” 當建立了一個網頁並把它載入到Web瀏覽器中時,DOM就在幕後悄然而生。它把編寫的網頁轉化為一個文件物件。 2.物件:DOM中的“O” 物件是是一種自足的資料集合,與某個特定物件相關聯的變數被稱為這個物件的屬性;只能通過某個特定物件去呼叫的

繼承父類為虛方法以及子類的重寫

虛擬現實 real 示例代碼 eal each str ons string ide 定義父類為虛方法時需要關鍵字 virtual 子類重寫需要關鍵字 override 示例代碼: //父類 public class People { //虛方

JavaScript HTML DOM節點型別之Document型別Document物件屬性Document物件集合屬性

ocument物件使我們可以用JavaScript對 HTML 頁面中的所有元素進行訪問。要訪問 HTML 頁面中元素,除可以用Document物件中的方法外,還可以通過Document物件的屬性。Document物件的屬性和方法中有的可返回單個Element元素物件,有

js數組遍歷的常用的幾種方法以及差異性能優化

object length 回調 value 鏈式操作 item IT rip 需要 <script type="text/javascript"> /*對比: 1、map速度比foreach快

Java實現zip檔案壓縮單個檔案、資料夾以及檔案資料夾的組合壓縮

Java實現zip檔案壓縮(單個檔案、資料夾以及檔案和資料夾的組合壓縮) 2016年10月04日 23:22:24 ljheee 閱讀數:13215 標籤: 壓縮javazip 更多 個人分類: Java應用 版權宣告:本文為博

第十週1For each for in for of的解釋例子以及Constructor Arrow function 的restore

注:引用自https://www.cnblogs.com/ruoqiang/p/6217929.html。 https://blog.csdn.net/zengyonglan/article/details/53465505 。 https://blog.csdn.net/qq_18663

關於安卓專案中統計資料achartengine類包括餅狀圖,柱狀圖,折線圖等的使用

       最近由於專案中需要統計資料,通過比較直觀的方式展示給使用者,所以就抽時間學習了一個統計圖的類庫achartengine,裡面包含統計中所需的餅狀圖,柱狀圖,折線圖等等,所以就拿出來給大家分享一下,希望大家相互學習,如有不足之處

面試常考演算法題(一)--四種排序方法以及問題

常用演算法題練習(一) 引言 演算法的重要毋庸置疑,在面試過程中或多或少的會被問到演算法,這一個系列的文章雖然冠以常用這一稱呼,但是並不意味著所有演算法都很簡單,這一篇文章是系列文章的第一篇,包括以下幾個演算法題,部分相對而言有點難度的題目會有所講解. 氣泡

javascript獲取元素設定元素屬性樣式

獲取元素屬性 js獲取和設定元素屬性的方式有兩種,setAttribute(getAttribute)和用[]或點獲取 他們的區別為[]或點只能獲取和設定元素自帶(而且必須直接出現在標籤裡面)的屬性,比如id、style、href、src等,若是開發人員自定義的屬性則獲取

微信小程式怎麼動態獲取view的高度以及獲取view到頁面頂部的距離

首先給你的xml物件一個id: <view class="usermotto" style="height:213px;" id='mjltest'/> 然後在js裡,用一個SelectorQuery來選擇對應id的節點(注意id前面要加一個#號),就可以獲取對應節點的屬性,包括

WEB後臺--基於Token的WEB後臺登入認證機制並講解其他認證機制以及cookiesession機制

繼續這一個系列,基於Token的WEB後臺登入認證機制(並講解cookie和session機制)。每個後端不得不解決的認證問題。 本系列: 文章結構:(1)JWT(一種基於 token 的認證方案)介紹並介紹其他幾大認證機

基於Token的WEB後臺登入認證機制並講解其他認證機制以及cookiesession機制

幾種常用的認證機制 HTTP Basic Auth HTTP Basic Auth簡單點說明就是每次請求API時都提供使用者的username和password,簡言之,Basic Auth是配合RESTful API 使用的最簡單的認證方式,只需提供使用者

關於ZedGraph幾個難點 節點顯示懸停提示懸停提示閃爍問題

1.引言 由於工作原因,需要對資料進行圖表展示,.NET預設的控制元件庫或者DotNetBar的控制元件庫又不能滿足需求。去網上找到了這個開源的ZedGraph繪製2D圖表的程式集,之所以選擇這個ZedGraph程式集,一來它能夠滿足業務需求,二來它網上相關資料很多,三

Android 獲取視訊縮圖以及獲取視訊解析度

今天遇到一個問題,視訊播放不能居中。 在設定VideoView的Layout時候,把整個螢幕分配給VideoView。 不過Video在播放的時候,對於成寬比和螢幕不一樣的視訊,卻沒有把視訊播放到中央。 採用相同的策略,ImageView就可以把影象放到螢幕最中央,感覺是V

unicode字元範圍包括中文、日語、韓文各種特殊字符集

在網上搜索了一下漢字的Unicode範圍,普遍給出了“U+4E00..U+9FA5”。但事實上這個範圍是不完整的,甚至連基本的全形(中文)標點也未包含在內。根據最新的Unicode 5.0版整理如下:注:在絕大多數應用場合中,我們可以僅用(1)、(2)、(3)、(4)、(5)的集合作為CJK判斷的依據。1)

實現二叉樹包括前序、中序、後序遍歷演算法

以前沒有記筆記的習慣,結果發現曾經實現過的東西居然都忘了,現在又需要花時間去看,去寫,雖然又有所收穫,但是畢竟在走重複的路。 從今天起,開始打路標,為了以後少走回頭路:) 還請高手多指點,不勝感激! 用Java語言實現二叉樹: 1、首先定義一個二叉樹節點類:實現 1)向某個

關於python指令碼完整打包釋出包括外部傳參的批處理指令碼或shell指令碼編寫

在python處理簡單問題的過程中常常需要對Python指令碼打包成exe的可執行程式。並且要可移植。而最常用的方法則是用pyinstaller在dos視窗下進行打包。因為常常需要對exe檔案進行傳送外部引數由此路徑會發生錯誤。此時最為簡單的方法則是用文字編輯器開啟,修改編碼方式。詳細過程如

用Pexpect與SSH互動實現了引數化輸入以及命令列shell互動的形式

#!/usr/bin/python #coding=utf-8 import pexpect from optparse import OptionParser #SSH連線成功時的命令列互動視窗中的提示符的集合 PROMPT = ['# ','&