javascript開(kāi)發(fā)中因空格引發(fā)的錯(cuò)誤
更新時(shí)間:2010年11月08日 17:13:54 作者:
最近寫(xiě)一個(gè)關(guān)于用JavaScript做圖片自動(dòng)切換問(wèn)題發(fā)現(xiàn)一個(gè)非常奇特的問(wèn)題,除了空格和換行外完全相同的代碼,在Firefox下卻有截然不同的運(yùn)行結(jié)果,今天記錄以提供他人留意及自我備查。
廢話(huà)不多說(shuō),先上代碼給大家看看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>依依園地</title>
</head>
<body>
<div id="win">
<ul id="picChange">
<li>
<img src="images/01.jpg" title="圖片1"></li>
<li>
<img src="images/02.jpg" title="圖片2"></li>
<li>
<img src="images/03.jpg" title="圖片3"></li>
</ul>
</div>
<script type="text/javascript">
var pic = document.getElementById('picChange');
var picList = pic.getElementsByTagName("li");
alert(picList[0].firstChild);
</script>
</body>
</html>
以上代碼1請(qǐng)分別在Firefox和IE中運(yùn)行,F(xiàn)irefox出現(xiàn)的是 [object Text] ,而IE中出現(xiàn)的是[object],這里IE和Firefox都把picList[0].firstChild這個(gè)對(duì)象當(dāng)作object對(duì)象,F(xiàn)irefox提示是Text類(lèi)型對(duì)象,IE沒(méi)有提示更細(xì)了。
我們?cè)龠\(yùn)行下面這部分的代碼看看,看清楚了,代碼本身相同,但是li下面沒(méi)做換行縮進(jìn)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>依依園地</title>
</head>
<body>
<div id="win">
<ul id="picChange">
<li><img src="images/bigpic/01.jpg" title="護(hù)腰/HY005"></li>
<li><img src="images/bigpic/02.jpg" title="枕頭吊臂/DB-004"></li>
<li><img src="images/bigpic/03.jpg" title="大護(hù)腳/HY-001"></li>
</ul>
</div>
<script type="text/javascript">
var pic = document.getElementById('picChange');
var picList = pic.getElementsByTagName("li");
alert(picList[0].firstChild);
</script>
</body>
</html>
以上代碼2請(qǐng)分別在Firefox和IE中運(yùn)行,F(xiàn)irefox出現(xiàn)的是 [object HTMLImageElement] ,而IE中出現(xiàn)的是[object],這里IE和Firefox都把picList[0].firstChild這個(gè)對(duì)象當(dāng)作object對(duì)象,F(xiàn)irefox提示是HTMLImageElement類(lèi)型對(duì)象,IE沒(méi)有提示更細(xì)了。
上下兩種寫(xiě)法只是縮進(jìn)和換行的差別,在IE中被認(rèn)做相同的object對(duì)象,可是不同的縮進(jìn)在Firefox中卻代表了不同的對(duì)象,F(xiàn)irefox對(duì)HTML的解析實(shí)在令人費(fèi)解。
再此做記錄,希望各位朋友看了有用,別因?yàn)楦乙粯拥膯?wèn)題半天沒(méi)找到解決問(wèn)題的方法。
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>依依園地</title>
</head>
<body>
<div id="win">
<ul id="picChange">
<li>
<img src="images/01.jpg" title="圖片1"></li>
<li>
<img src="images/02.jpg" title="圖片2"></li>
<li>
<img src="images/03.jpg" title="圖片3"></li>
</ul>
</div>
<script type="text/javascript">
var pic = document.getElementById('picChange');
var picList = pic.getElementsByTagName("li");
alert(picList[0].firstChild);
</script>
</body>
</html>
以上代碼1請(qǐng)分別在Firefox和IE中運(yùn)行,F(xiàn)irefox出現(xiàn)的是 [object Text] ,而IE中出現(xiàn)的是[object],這里IE和Firefox都把picList[0].firstChild這個(gè)對(duì)象當(dāng)作object對(duì)象,F(xiàn)irefox提示是Text類(lèi)型對(duì)象,IE沒(méi)有提示更細(xì)了。
我們?cè)龠\(yùn)行下面這部分的代碼看看,看清楚了,代碼本身相同,但是li下面沒(méi)做換行縮進(jìn)。
復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>依依園地</title>
</head>
<body>
<div id="win">
<ul id="picChange">
<li><img src="images/bigpic/01.jpg" title="護(hù)腰/HY005"></li>
<li><img src="images/bigpic/02.jpg" title="枕頭吊臂/DB-004"></li>
<li><img src="images/bigpic/03.jpg" title="大護(hù)腳/HY-001"></li>
</ul>
</div>
<script type="text/javascript">
var pic = document.getElementById('picChange');
var picList = pic.getElementsByTagName("li");
alert(picList[0].firstChild);
</script>
</body>
</html>
以上代碼2請(qǐng)分別在Firefox和IE中運(yùn)行,F(xiàn)irefox出現(xiàn)的是 [object HTMLImageElement] ,而IE中出現(xiàn)的是[object],這里IE和Firefox都把picList[0].firstChild這個(gè)對(duì)象當(dāng)作object對(duì)象,F(xiàn)irefox提示是HTMLImageElement類(lèi)型對(duì)象,IE沒(méi)有提示更細(xì)了。
上下兩種寫(xiě)法只是縮進(jìn)和換行的差別,在IE中被認(rèn)做相同的object對(duì)象,可是不同的縮進(jìn)在Firefox中卻代表了不同的對(duì)象,F(xiàn)irefox對(duì)HTML的解析實(shí)在令人費(fèi)解。
再此做記錄,希望各位朋友看了有用,別因?yàn)楦乙粯拥膯?wèn)題半天沒(méi)找到解決問(wèn)題的方法。
相關(guān)文章
JavaScript實(shí)現(xiàn)獲取select下拉框中第一個(gè)值的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)獲取select下拉框中第一個(gè)值的方法,涉及javascript針對(duì)頁(yè)面元素屬性的相關(guān)獲取操作技巧,需要的朋友可以參考下2018-02-02
來(lái)自國(guó)外的頁(yè)面JavaScript文件優(yōu)化
外部JavaScript文件塊下載和傷害你的頁(yè)面的性能,但有一個(gè)簡(jiǎn)單的方法來(lái)解決此問(wèn)題:并行使用動(dòng)態(tài)腳本標(biāo)記和加載腳本,提高頁(yè)面加載速度和用戶(hù)體驗(yàn)。2010-12-12
JS URL傳中文參數(shù)引發(fā)的亂碼問(wèn)題
今天的項(xiàng)目中碰到了一個(gè)亂碼問(wèn)題,從JS里傳URL到服務(wù)器,URL中有中文參數(shù),服務(wù)器里讀出的中文參數(shù)來(lái)的全是“?”,查了網(wǎng)上JS編碼相關(guān)資料得以解決。2009-09-09
在localStorage中存儲(chǔ)對(duì)象數(shù)組并讀取的方法
頻繁ajax請(qǐng)求導(dǎo)致頁(yè)面響應(yīng)變慢,所以考慮將數(shù)據(jù)存儲(chǔ)在window.storage中,這樣只需請(qǐng)求一次ajax,接下來(lái)通過(guò)本文給大家介紹了在localStorage中存儲(chǔ)對(duì)象數(shù)組并讀取的方法,需要的朋友可以參考下2016-09-09
JS中簡(jiǎn)單的實(shí)現(xiàn)像C#中using功能(有源碼下載)
JS中簡(jiǎn)單的實(shí)現(xiàn)像C#中using功能(有源碼下載)...2007-01-01

