自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript和DOM輕松實(shí)現(xiàn)數(shù)據(jù)訪(fǎng)問(wèn)

開(kāi)發(fā) 前端
這里向大家描述一下如何通過(guò)JavaScript和DOM進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn),在一個(gè)Web頁(yè)面中訪(fǎng)問(wèn)和處理各種各樣的不同元素是經(jīng)常性的工作,這可以通過(guò)使用javaScript和HTML文檔對(duì)象模型(DOM)很容易實(shí)現(xiàn)。

你對(duì)通過(guò)JavaScript和DOM進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)的方法是否了解,這里向大家簡(jiǎn)單介紹一下,首先看一下HTML DOM的概念,根據(jù)W3C的介紹,“DOM文檔對(duì)象模型是一個(gè)語(yǔ)言中性接口的平臺(tái),它可以實(shí)現(xiàn)程序和腳本動(dòng)態(tài)訪(fǎng)問(wèn)和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式。”

通過(guò)JavaScript和DOM進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)

在一個(gè)Web頁(yè)面中訪(fǎng)問(wèn)和處理各種各樣的不同元素是經(jīng)常性的工作,這可以通過(guò)使用javaScript和HTML文檔對(duì)象模型(DOM)很容易實(shí)現(xiàn)。本文我們將介紹訪(fǎng)問(wèn)頁(yè)面元素的各種方法并描述如何實(shí)現(xiàn)它們。

HTML DOM

根據(jù)W3C的介紹,“文檔對(duì)象模型是一個(gè)語(yǔ)言中性接口的平臺(tái),它可以實(shí)現(xiàn)程序和腳本動(dòng)態(tài)訪(fǎng)問(wèn)和更新文檔的內(nèi)容、結(jié)構(gòu)和樣式。”

所有HTML元素同它們包含的文本及屬性都可以通過(guò)DOM訪(fǎng)問(wèn)。一個(gè)元素的內(nèi)容可以被修改或刪除以及創(chuàng)建新元素。

當(dāng)使用DOM和頁(yè)面元素時(shí),最重要的對(duì)象就是文檔。它包含在windows對(duì)象中,但是你可以直接在JavaScript代碼中鍵入并使用文檔。當(dāng)用作訪(fǎng)問(wèn)一個(gè)頁(yè)面中的所有元素時(shí),它代表整個(gè)HTML文檔。你可以通過(guò)集合、屬性和方法訪(fǎng)問(wèn)頁(yè)面元素。本文我們將主要介紹通過(guò)各種方法訪(fǎng)問(wèn)web頁(yè)的字段元素。

訪(fǎng)問(wèn)數(shù)據(jù)

當(dāng)對(duì)頁(yè)面及其數(shù)據(jù)進(jìn)行操作時(shí),你經(jīng)常需要訪(fǎng)問(wèn)一個(gè)元素及與數(shù)據(jù)相關(guān)的信息。通過(guò)DOM和JavaScript訪(fǎng)問(wèn)每個(gè)頁(yè)面元素時(shí)可以使用下面的方法:

getElementById():返回?fù)碛袀鬟f給該方法的指定id的***個(gè)對(duì)象的引用。

getElementsByName():返回?fù)碛袀鬟f給該方法的指定名稱(chēng)的對(duì)象集合。

getElementsByTagName():返回?fù)碛袀鬟f給該方法的指定tag名的對(duì)象集合。

列表A包含一個(gè)簡(jiǎn)單的例子,它使用了上面列出的前兩種方法。它包含一個(gè)有兩個(gè)數(shù)據(jù)域的表單,在文檔提交之前,必須為這兩個(gè)數(shù)據(jù)域輸入數(shù)據(jù)。利用傳遞恰當(dāng)?shù)膇d(例如,通過(guò)ID屬性賦予input域的值),getElementById方法用來(lái)訪(fǎng)問(wèn)***個(gè)數(shù)據(jù)域。getElementsByName方法通過(guò)賦給name屬性的值來(lái)訪(fǎng)問(wèn)第二個(gè)數(shù)據(jù)域,該方法返回一個(gè)數(shù)組值,因此我只關(guān)心***個(gè)值(例如,數(shù)組中下標(biāo)索引為0的元素值)。

利用getElementsByTagName方法,我們可以為這種情況選擇另外一種不同的實(shí)現(xiàn)方法。該方法允許你操縱頁(yè)面內(nèi)擁有指定tag名的所有元素的數(shù)組對(duì)象。例如,下面的一行用來(lái)將頁(yè)面上的所有表格列元素組合在一個(gè)數(shù)組中。

  1. varcolumns=document.getElementsByTagName("td");  
  2.  

對(duì)于我們的例子,我感興趣的是表單上的input域。列表B使用getElementsByTagName方法替換前面的例子用來(lái)與其它兩個(gè)方法形成對(duì)比。我們通過(guò)檢查每個(gè)數(shù)組元素的值來(lái)進(jìn)行有效性檢查。

這兩個(gè)例子都使用了input域,但是并不是說(shuō)只能通過(guò)文檔對(duì)象及其方法訪(fǎng)問(wèn)這一個(gè)元素。列表C首先獲取輸入給input域的數(shù)據(jù),然后將它放入一個(gè)段元素中。當(dāng)用戶(hù)選擇了提交按鈕時(shí),段元素被提交。#p#

另一種方法

我不想省去可能是訪(fǎng)問(wèn)元素最通用的方法,尤其是對(duì)于包含在一個(gè)頁(yè)面表單內(nèi)的數(shù)據(jù)。這種方法遍歷DOM樹(shù)來(lái)搜索某個(gè)元素,然后訪(fǎng)問(wèn)或操作它或它們的內(nèi)容。頁(yè)面的可視圖表可以提供良好的可視來(lái)源,但是快速看一眼頁(yè)面的源碼可以提供我們一個(gè)樣本信息。例如,假如我們需要訪(fǎng)問(wèn)列表D的頁(yè)面上名為txtAddress的input域。我們可以按照下面的步驟遍歷HTML的DOM來(lái)搜索想要的元素。

我們是從頁(yè)面的頂部開(kāi)始的,因此就可以從文檔對(duì)象開(kāi)始。

頁(yè)面的body和文檔對(duì)象中***個(gè)元素是表單。

進(jìn)入表單元素后,我們就可以發(fā)現(xiàn)地址域。

到此為止,我們發(fā)現(xiàn)了想要的元素。因此,我們從文檔對(duì)象開(kāi)始,然后到表單,***到名為地址的input元素結(jié)束。HTML表單包含在文檔對(duì)象的表單屬性中。它返回頁(yè)面上的表單數(shù)組,因此我們可以通過(guò)索引值(從0開(kāi)始)來(lái)訪(fǎng)問(wèn)每個(gè)表單。你還可以使用表單的名字作為文檔對(duì)象的一個(gè)屬性來(lái)訪(fǎng)問(wèn)表單。下面的例子使用***種方法訪(fǎng)問(wèn)地址元素及其值。

  1. document.forms[0].address.value;  
  2.  

或者,你可以使用實(shí)際的表單名(在表單元素的name屬性中指定)來(lái)訪(fǎng)問(wèn)。如下所示:

  1. document.frmTest.address.value;  
  2.  

列表E中我對(duì)***個(gè)例子作了修改,使用這種方法訪(fǎng)問(wèn)頁(yè)面元素及其值來(lái)進(jìn)行有效性驗(yàn)證。

獲得你所需要的

DOM提供了訪(fǎng)問(wèn)一個(gè)HTML頁(yè)面內(nèi)容的所有需求。它不僅可以用來(lái)訪(fǎng)問(wèn)和操縱元素的數(shù)據(jù),還可以完成更多的功能。

本專(zhuān)欄提供的這些概念對(duì)有經(jīng)驗(yàn)的web開(kāi)發(fā)人員來(lái)說(shuō)可能十分簡(jiǎn)單,但是對(duì)那些剛進(jìn)入這一領(lǐng)域的新手需要知道可以有多種方法完成一個(gè)任務(wù)。

【編輯推薦】

  1. JavaScript DOM特性與應(yīng)用詳解
  2. 術(shù)語(yǔ)匯編 Javascript DOM技術(shù)探究
  3. JavaScript獲取HTML DOM節(jié)點(diǎn)元素詳解
  4. 深入了解JavaScript HTML DOM對(duì)象
  5. 解析HTML DOM Checkbox對(duì)象的屬性和方法

 

責(zé)任編輯:佚名 來(lái)源: Builder.com.cn
相關(guān)推薦

2010-09-28 11:22:18

Html DOM樹(shù)

2010-09-08 16:50:11

JavaScriptDOM操作

2009-07-09 10:15:23

PHP DOM

2010-06-07 16:55:00

JavaScript

2010-08-26 15:59:38

DIV圓角

2010-10-08 10:35:21

2010-09-28 14:12:50

Javascript

2010-09-08 17:26:46

JavaScript

2010-09-28 13:16:43

JavaScriptDOM

2009-06-30 15:05:52

JSP數(shù)據(jù)JavaScript數(shù)

2010-08-05 15:06:19

Flex數(shù)據(jù)綁定

2010-09-28 15:12:27

Javascript

2010-09-13 17:12:55

JavaScript

2010-09-13 14:24:17

JavaScript

2011-04-14 10:18:20

數(shù)據(jù)遷移

2011-05-13 10:28:50

2009-08-26 13:31:21

JavaScript使

2009-12-24 14:08:25

WPF數(shù)據(jù)模板

2017-08-28 16:01:59

前端JavaScript學(xué)習(xí)途徑

2010-09-28 11:11:23

XML DOMHTML DOM
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)