javascript開發(fā)中因空格引發(fā)的錯(cuò)誤
更新時(shí)間:2010年11月08日 17:13:54 作者:
最近寫一個(gè)關(guān)于用JavaScript做圖片自動(dòng)切換問題發(fā)現(xiàn)一個(gè)非常奇特的問題,除了空格和換行外完全相同的代碼,在Firefox下卻有截然不同的運(yùn)行結(jié)果,今天記錄以提供他人留意及自我備查。
廢話不多說,先上代碼給大家看看
<!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類型對(duì)象,IE沒有提示更細(xì)了。
我們?cè)龠\(yùn)行下面這部分的代碼看看,看清楚了,代碼本身相同,但是li下面沒做換行縮進(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類型對(duì)象,IE沒有提示更細(xì)了。
上下兩種寫法只是縮進(jìn)和換行的差別,在IE中被認(rèn)做相同的object對(duì)象,可是不同的縮進(jìn)在Firefox中卻代表了不同的對(duì)象,F(xiàn)irefox對(duì)HTML的解析實(shí)在令人費(fèi)解。
再此做記錄,希望各位朋友看了有用,別因?yà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類型對(duì)象,IE沒有提示更細(xì)了。
我們?cè)龠\(yùn)行下面這部分的代碼看看,看清楚了,代碼本身相同,但是li下面沒做換行縮進(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類型對(duì)象,IE沒有提示更細(xì)了。
上下兩種寫法只是縮進(jìn)和換行的差別,在IE中被認(rèn)做相同的object對(duì)象,可是不同的縮進(jìn)在Firefox中卻代表了不同的對(duì)象,F(xiàn)irefox對(duì)HTML的解析實(shí)在令人費(fèi)解。
再此做記錄,希望各位朋友看了有用,別因?yàn)楦乙粯拥膯栴}半天沒找到解決問題的方法。
相關(guān)文章
微信小程序?qū)崿F(xiàn)動(dòng)態(tài)獲取元素寬高的方法分析
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)動(dòng)態(tài)獲取元素寬高的方法,結(jié)合實(shí)例形式分析了微信小程序動(dòng)態(tài)獲取、設(shè)置元素寬高的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12JS 日期與時(shí)間戮相互轉(zhuǎn)化的簡單實(shí)例
下面小編就為大家?guī)硪黄狫S 日期與時(shí)間戮相互轉(zhuǎn)化的簡單實(shí)例。小編覺得挺不錯(cuò)的, 現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06echarts多條折線圖動(dòng)態(tài)分層的實(shí)現(xiàn)方法
這篇文章主要介紹了echarts多條折線圖動(dòng)態(tài)分層的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05js中apply和Math.max()函數(shù)的問題及區(qū)別介紹
這篇文章主要介紹了js中apply和Math.max()函數(shù)的問題,本文給大家?guī)韮煞N答案,每一種答案給大家介紹的非常詳細(xì),在文章底部給大家提到了js中Math.max.apply和Math.max的區(qū)別,感興趣的朋友一起看看吧2018-03-03JavaScript實(shí)現(xiàn)PC端四格密碼輸入框功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)PC端四格密碼輸入框功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02