亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

理解document.all[]:DOM文檔對象模型

2024-07-11 09:02:15
字體:
來源:轉載
供稿:網友

武林網(www.49028c.com)文章簡介:淺談document.all與WEB標準.

1、DOM

WEB標準現在可真是熱門中熱門,不過下面討論的是一個不符合標準的document.all[]。DOM--DOCUMENT OBJECT MODEL文檔對象模型,提供了訪問文檔對象的方法.例如文檔中有一個table,你要改變它的背景顏色,那就可以在javascript中用document.all[]訪問這個TABLE。但DOM也有所不同,因為瀏覽器廠商之間的競爭,各瀏覽器廠商都開發了自己的私有DOM,只能在自己的瀏覽器上正確運行,document.all[]就是只能運行在 IE是的微軟的私有DOM。為了正確理解DOM,給出IE4的DOM

2、理解document.all[]

從IE4開始IE的object model才增加了document.all[],來看看document.all[]的Description:
Array of all HTML tags in the document.Collection of all elements contained by the object.

也就是說document.all[]是文檔中所有標簽組成的一個數組變量,包括了文檔對象中所有元素(見例1)。

IE's document.all collection exposes all document elements.This array provides access to every element in the document.

document.all[]這個數組可以訪問文檔中所有元素。

例1(這個可以讓你理解文檔中哪些是對象)

例2(訪問一個特定元素)

上面的這個例子讓你了解怎么訪問文檔中的一個特定元素,比如文檔中有一個DIV
<div id="docid" name="docname"></div>,你可以通過這個DIV的ID,NAME或INDEX屬性訪問這個DIV:



3、使用document.all[]

例3

4、標準DOM中的訪問方法

開頭就說過document.all[]不符合WEB標準,那用什么來替代它呢?document.getElementById


Most third-party browsers are “strict standards” implementations, meaning that they implement W3C and ECMA standards and ignore most of the proprietary object models of Internet Explorer and Netscape.If the demographic for your Web site includes users likely to use less common browsers, such as Linux aficionados, it might be a good idea to avoid IE-specific features and use the W3C DOM instead. by Internet Explorer 6, we see that IE implements significant portions of the W3C DOM.

這段話的意思是大多數第三方瀏覽器只支持W3C的DOM,如果你的網站用戶使用其他的瀏覽器,那么你最好避免使用IE的私有屬性。而且IE6也開始支持W3C DOM。

畢竟大多數人還不了解標準,在使用標準前,你還可以在你的網頁中用document.all[]訪問文檔對象前面寫到WEB標準,今天繼續WEB標準下可以通過getElementById(), getElementsByName(), and getElementsByTagName()訪問DOCUMENT中的任一個標簽:

1、getElementById()

getElementById()可以訪問DOCUMENT中的某一特定元素,顧名思義,就是通過ID來取得元素,所以只能訪問設置了ID的元素。

比如說有一個DIV的ID為docid:

<div id="docid"></div>

那么就可以用getElementById("docid")來獲得這個元素。

 


2、getElementsByName()

這個是通過NAME來獲得元素,但不知大家注意沒有,這個是GET ELEMENTS,復數ELEMENTS代表獲得的不是一個元素,為什么呢?

因為DOCUMENT中每一個元素的ID是唯一的,但NAME卻可以重復。打個比喻就像人的身份證號是唯一的(理論上,雖然現實中有重復),但名字重復的卻很多。如果一個文檔中有兩個以上的標簽NAME相同,那么getElementsByName()就可以取得這些元素組成一個數組。

比如有兩個DIV:



  • 那么可以用getElementsByName("docname")獲得這兩個DIV,用getElementsByName("docname")[0]訪問第一個DIV,用getElementsByName("docname")[1]訪問第二個DIV。

    下面這段話有錯,請看forfor的回復,但是很可惜,IE沒有支持這個方法,大家有興趣可以在FIREFOX或NETSCAPE中調試下面這個例子。(我在NETSCAPE7.2英文版和FIREFOX1.0中調試成功。)


    看來最新版瀏覽器理解WEB標準還是有問題,我知道的只有盒模型、空格BUG、漂浮BUG、FLASH插入BUG,從document.getElementsByName可以看出FIREFOX,NETSCAPE理解標準有偏差,但forfor說的對:要靈活應用標準。

    3、getElementsByTagName()

    這個呢就是通過TAGNAME(標簽名稱)來獲得元素,一個DOCUMENT中當然會有相同的標簽,所以這個方法也是取得一個數組。

    下面這個例子有兩個DIV,可以用getElementsByTagName("div")來訪問它們,用getElementsByTagName("div")[0]訪問第一個DIV,用

    getElementsByTagName("div")[1]訪問第二個DIV。

      總結一下標準DOM,訪問某一特定元素盡量用標準的getElementById(),訪問標簽用標準的getElementByTagName(),但IE不支持getElementsByName(),所以就要避免使用getElementsByName(),但getElementsByName()和不符合標準的document.all[]也不是全無是處,它們有自己的方便之處,用不用那就看網站的用戶使用什么瀏覽器,由你自己決定了。

    關于document.getElementsByName

    IE當然支持 可以說IE更忠于html/xhtml標準(嘿嘿 原來firefox也不咋地 幸災樂禍一下^_^)

    按照O'REILLY的<<HTML與XHTML權威指南>>中的說法 name并不是核心屬性 并非所有標簽都可以加name屬性(大家可以拿我下面的例子去 validator.w3.org 做驗證)

    所以你給div加name屬性理論上是不會出結果的.這一點IE很好的符合了標準~!!

    (同時也看出了符合標準也有煩人的地方~_~ 所以大家不用太把標準當回事兒 過兩年都用xml了 這個也過時了!倡導靈活的webstandard應用思想 除了符合xml思想的東西 其他的按瀏覽器的理解去做就行)

    附:

     


    簡單來說就是DIV不支持NAME屬性,所以那個document.getElementsByName的例子調試不能通過.
    下面用INPUT做個例子

     

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    亚洲精品成人久久电影| 国产91在线播放精品91| 91久久久久久久久久久久久| 亚洲女人初尝黑人巨大| 亚洲欧美福利视频| 国内伊人久久久久久网站视频| 欧美在线精品免播放器视频| 成人黄色激情网| 俺去啦;欧美日韩| 国产精品久久久久久久久久| 国产在线视频欧美| 欧美贵妇videos办公室| 国产精品视频永久免费播放| 亚洲成人aaa| 亚洲欧美一区二区三区久久| 丝袜一区二区三区| 精品亚洲永久免费精品| 久久影院中文字幕| 亚洲直播在线一区| 欧美性xxxx极品高清hd直播| 国产视频在线一区二区| 亚洲国产一区二区三区在线观看| 欧美老少做受xxxx高潮| 69av在线视频| 日韩中文在线中文网在线观看| 亚洲第一男人av| 久久伊人91精品综合网站| 亚洲色图色老头| 国产经典一区二区| 91国产在线精品| 国产亚洲美女精品久久久| 国产精品视频男人的天堂| 亚洲国产高清高潮精品美女| 免费97视频在线精品国自产拍| 国产亚洲精品久久久久久777| 欧美极品美女电影一区| 精品亚洲精品福利线在观看| 国产视频精品va久久久久久| 91久久久久久久| 亚洲欧美中文在线视频| 久久久91精品国产一区不卡| 欧美性猛交丰臀xxxxx网站| 日韩美女在线观看| 欧美成人免费va影院高清| 日韩成人中文电影| 国产精品扒开腿爽爽爽视频| 亚洲www永久成人夜色| 色偷偷偷综合中文字幕;dd| 日韩一中文字幕| 国产999在线| 亚洲精品久久久久| 欧美猛男性生活免费| 国产精品视频午夜| 日韩在线视频观看正片免费网站| 91在线直播亚洲| 国产亚洲精品高潮| 欧美成人激情图片网| 亚洲男女性事视频| 亚洲精品久久久久国产| 国产精品情侣自拍| 国产成人亚洲综合青青| 久久亚洲精品中文字幕冲田杏梨| 久久久久中文字幕| 国产亚洲精品美女久久久| 91大神福利视频在线| 色婷婷成人综合| 7m第一福利500精品视频| 亚洲国产精品资源| 国产精品午夜一区二区欲梦| 亚洲国产高清高潮精品美女| 久久国产精品影片| 亚州成人av在线| 91性高湖久久久久久久久_久久99| 欧美午夜精品久久久久久久| 国产欧美日韩中文字幕| 日韩有码片在线观看| 日韩va亚洲va欧洲va国产| 欧美日韩另类字幕中文| 国产精品一区二区三区毛片淫片| 色诱女教师一区二区三区| 久久人人爽人人爽人人片av高清| 日韩一区二区在线视频| 久久国产精品久久久久久| 国产成一区二区| 日韩电影第一页| 欧美二区乱c黑人| 日韩av免费一区| 国产精品91免费在线| 亚洲黄色免费三级| 91理论片午午论夜理片久久| 欧美中文在线免费| 欧美日韩性生活视频| 性夜试看影院91社区| 久久久久久久久国产| 亚洲精品www久久久久久广东| 在线播放日韩欧美| 亚洲国产精品悠悠久久琪琪| 欧美日韩国产影院| 国产成人激情小视频| 欧美性xxxxx极品娇小| 亚洲第一页中文字幕| 日韩av大片在线| 韩国国内大量揄拍精品视频| 日韩av免费在线看| 在线午夜精品自拍| 91中文字幕在线| 久久久久久91香蕉国产| 国产欧美在线播放| 中文字幕亚洲二区| 国产精品人人做人人爽| 美女精品久久久| 亚洲无亚洲人成网站77777| 国产精品三级美女白浆呻吟| 成人国产精品久久久久久亚洲| 一区二区欧美久久| 国产香蕉97碰碰久久人人| 成人在线精品视频| 亚洲欧美日韩精品久久奇米色影视| 亚洲成人网在线| 久久久精品一区二区三区| 国产福利精品视频| 欧美激情在线狂野欧美精品| 国产成人精品免高潮在线观看| 成人精品一区二区三区电影免费| 高清一区二区三区四区五区| 中文字幕亚洲精品| 国产午夜精品视频免费不卡69堂| 欧美日韩免费观看中文| 日韩精品一区二区三区第95| 国产狼人综合免费视频| 久久久精品免费视频| 国产精品久久久久久av福利| 91丨九色丨国产在线| 国产精品女人久久久久久| 日韩在线视频网站| 91av在线免费观看| 在线一区二区日韩| 国内偷自视频区视频综合| 日本精品免费一区二区三区| 久热99视频在线观看| 日韩av中文在线| 亚洲精品黄网在线观看| 久久久国产精品一区| 青草青草久热精品视频在线网站| 亚洲乱码国产乱码精品精天堂| 国产精品亚发布| 亚洲男人的天堂在线| 久久电影一区二区| 中文字幕亚洲精品| 青草青草久热精品视频在线网站| 日韩免费av片在线观看| 日韩精品免费一线在线观看| 国产一区二区免费| 亚洲va久久久噜噜噜| 国产日韩中文在线| 亚洲一区中文字幕在线观看| 91精品中国老女人| 亚洲黄色在线观看| 久久久亚洲国产天美传媒修理工| 精品一区二区三区三区| 久久福利网址导航| 欧美成在线观看| 午夜精品久久久久久久99热浪潮| 77777亚洲午夜久久多人|