婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 淺談html中id和name的區(qū)別實(shí)例代碼

淺談html中id和name的區(qū)別實(shí)例代碼

熱門標(biāo)簽:快速更改地圖標(biāo)注點(diǎn)標(biāo) 地圖標(biāo)注樓盤 地圖標(biāo)注微信好友 蘇州做電話機(jī)器人 ai電話機(jī)器人效果差 南昌電話機(jī)器人系統(tǒng) 隨州外呼系統(tǒng)廠家 沈陽(yáng)400電話辦理多少錢 南山電話機(jī)器人
我們可以通過(guò)一段代碼來(lái)分析一下其中的微妙差別:

form method="post" action="" name="demoform">
input type="text" name="oDemo" id=”oDemo2” value="DEMO" />
/form>



在IE瀏覽器里,我們可以通過(guò)多少方法來(lái)索引到這個(gè)文本框?qū)ο螅?為區(qū)別起見(jiàn),我們把NAME和ID設(shè)成了不同的值)
1. oDemo
2. demoform.oDemo
3. document.all.oDemo
4. document.all.demoform.oDemo
5. document.forms[0].oDemo
6. document.forms['demoform'].oDemo
7. document.forms['demoform'].childNodes[0]
8. document.forms['demoform'].elements[0]
9. document.getElementById('oDemo2')

以上9種索引方法在IE6里面全部通過(guò)返回值測(cè)試,不過(guò)值得注意的是最后一種:在IE6里,我把索引對(duì)象寫成

document.getElementById('oDemo'),瀏覽器也能正確索引到對(duì)象,真是可怕的容錯(cuò)性啊!!

接著問(wèn)題來(lái)了,我們把這段代碼放在Mozilla Firefox 1.0里再執(zhí)行一次,只有第7種方法返回“undefined”,其他的方法可以正確

索引到對(duì)象,不過(guò)由于第3、4種方法用到了document.all這個(gè)IE專有對(duì)象,F(xiàn)F1.0雖然返回了正確的值,不過(guò)卻在控制臺(tái)里發(fā)出了警

告:警告:非標(biāo)準(zhǔn)的屬性 document.all。請(qǐng)使用 W3C 的標(biāo)準(zhǔn)形式 document.getElementById() 。

接下來(lái)我們把HTML文本類型定義得嚴(yán)格一點(diǎn),在源代碼開(kāi)頭加上:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

使HTML文本按照HTML4.01標(biāo)準(zhǔn)去解析,在IE6里照樣全部通過(guò)返回值測(cè)試,不過(guò)在Mozilla Firefox 1.0里麻煩就大了,第3、4種方法

沒(méi)有任何的返回值,而在控制臺(tái)里發(fā)出了報(bào)錯(cuò)信息:錯(cuò)誤: document.all has no properties ,而第7種方法依舊返回“undefined

”。

小 結(jié)

name原來(lái)是為了標(biāo)識(shí)之用,但是現(xiàn)在根據(jù)規(guī)范,都建議用id來(lái)標(biāo)識(shí)元素。

以下只能用name:  
   1.    表單(form)的控件名,提交的數(shù)據(jù)都用控件的name而不是id來(lái)控制。因?yàn)橛性S多name會(huì)同時(shí)對(duì)應(yīng)多個(gè)控件,比如

checkbox和radio,而id必須是全文檔中唯一的。此外瀏覽器會(huì)根據(jù)name來(lái)設(shè)定發(fā)送到服務(wù)器的request。因此如果用id,服務(wù)器是無(wú)

法得到數(shù)據(jù)的。  
   2.    frame和window的名字,用于在其他frame或window指定target。  

以下只能用id:  
   1.    label與form控件的關(guān)聯(lián),  
   label for="MyInput">My    Input/label>  
   input id="MyInput"    type="text">  
   for屬性指定與label關(guān)聯(lián)的元素的id,不可用name替代。  
   2.    CSS的元素選擇機(jī)制,以#MyId的方式指定應(yīng)用樣式的元素,不能用name替代。  
   3.    腳本中獲得對(duì)象:  
   IE支持在腳本中直接以id(而不是name)引用該id標(biāo)識(shí)的對(duì)象。例如上面的input,要在腳本中獲得輸入的內(nèi)容,可以直接以

MyInput.value來(lái)獲得。  
   如果用DOM的話,則用document.getElementById("MyInput").value,如果要用name的話,通常先得到包含控件的form,例如

document.forms[0],然后從form再引用name,注意這樣得到的是經(jīng)過(guò)計(jì)算后將發(fā)送給服務(wù)器的值。  

name與id的其他區(qū)別是:
   id要符合標(biāo)識(shí)的要求,比如大小寫敏感,最好不要包含下劃線(因?yàn)椴患嫒軨SS)。而name基本上沒(méi)有什么要求,甚至可以用數(shù)字



用CSS控制這個(gè)鏈接的停留樣式,
可以這樣寫 #m_blog div.opt a:hover{color:#D57813} 或 #myLink:hover{color:#D57813}

NAME主要應(yīng)用在交互式網(wǎng)頁(yè),表單提交給某個(gè)服務(wù)器端腳本后接收變處理量使用。從源代碼的規(guī)范性和兼容性角度出發(fā),如在客戶端

腳本里要索引某個(gè)對(duì)象,建議用document.getElementById()方法,盡量不要直接使用NAME的值,當(dāng)然如果不考慮兼容性,以上9種方

法都可以在IE里運(yùn)行通過(guò)(IE5.0沒(méi)測(cè)試過(guò))。

附:測(cè)試源代碼

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>     meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    title>/title>
/head>
body>
form method="post" action="" name="demoform">
    input type="text" name="oDemo" value="DEMO" id="oDemo2" />br />
    input type="button" value="oDemo" onclick="alert(oDemo.value)" />br />
    input type="button" value="demoform.oDemo" onclick="alert(demoform.oDemo.value)" />br />
    input type="button" value="document.all.oDemo" onclick="alert(document.all.oDemo.value)" />br />
    input type="button" value="document.all.demoform.oDemo" onclick="alert(document.all.demoform.oDemo.value)" />br />
    input type="button" value="document.forms[0].oDemo" onclick="alert(document.forms[0].oDemo.value)" />br />
    input type="button" value="document.forms['demoform'].oDemo" onclick="alert(document.forms['demoform'].oDemo.value)" />br />
    input type="button" value="document.forms['demoform'].childNodes[0]" onclick="alert(document.forms
['demoform'].childNodes[0].value)" />br />
    input type="button" value="document.forms['demoform'].elements[0]" onclick="alert(document.forms
['demoform'].elements[0].value)" />br />
    input type="button" value="document.getElementById('oDemo2')" onclick="alert(document.getElementById('oDemo2').value)" />br />
/form>
/body>
/html>

標(biāo)簽:濰坊 濰坊 玉樹(shù) 大同 深圳 昭通 石家莊 商洛

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談html中id和name的區(qū)別實(shí)例代碼》,本文關(guān)鍵詞  淺談,html,中,和,name,的,區(qū)別,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談html中id和name的區(qū)別實(shí)例代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺談html中id和name的區(qū)別實(shí)例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 延吉市| 隆德县| 彰武县| 石家庄市| 宁安市| 洪江市| 遂平县| 保德县| 定远县| 通化市| 英山县| 宜君县| 会泽县| 伊通| 报价| 綦江县| 广水市| 长阳| 金山区| 上林县| 尖扎县| 钦州市| 马龙县| 潞西市| 河东区| 西丰县| 黎城县| 三都| 酒泉市| 东乌| 库伦旗| 马公市| 钟祥市| 白沙| 淮阳县| 奇台县| 彰武县| 广德县| 马山县| 桐柏县| 犍为县|