yam 蕃薯藤
天空部落
  • 網誌
  • 相簿
  • 影音
  • 夯集
  • PK吧!
  • 揪便宜
  • i鬥圖
  • la zorza
  • 買房子
新聞
  • 即時新聞
  • 影音新聞
  • 新聞專輯
  • 政治新聞
  • 財經新聞
  • 娛樂新聞
  • 運動新聞
  • 兩岸新聞
  • 科技新聞
註冊 登入
夯集
隨便逛
  • 正妹
  • 熱門
  • 網誌
  • 旅遊/攝影
  • 愛情/交友
  • 親子/教育
  • 美食/休閒
  • 設計/創作
  • 家族/同好
  • 影視/音樂
  • 社會/人文
  • 時尚/美容
  • 寵物/生活
  • 工作/職場
  • 科技/金融
  • 運動/健康
  • 交通/運輸
  • 相簿
  • COSPLAY
  • 布袋戲迷
  • 電玩漫畫
  • 女生照片
  • 藝術寫真
  • 攝影作品
  • 男生照片
  • 影視娛樂
  • 大眼小布
  • 情侶拍拍
  • 旅遊紀錄
  • 朋友團體
  • 人文藝術
  • more...
推薦這個部落格: 387

A HA! 心情雜物間

專供個人碎碎念的心得小屋,或是好物分享~~ ^_^

近日發現有色情業者留言洗版的狀況發生,一經發現,留言立刪。

日記 |網誌 |相簿 |好友 |留言板
《Ajax 範例活用辭典》筆記 - Part V | 主頁 | 《Ajax 範例活用辭典》筆記 - Part IV
March 25, 2009
firstchild & lastchild doesn't work in firefox以文找文
csylvia 在天空部落發表於10:12:18 | AJAX
 

(其實這跟 AJAX 無關,只是因為剛好在學 AJAX 時碰到,就歸在這一類吧......XP)

在實作第三章程式時,發現 firstchild 和 lastchild 在 IE 上運作正常,但在 FF 就無法運作,著實令人困擾。


上網查了資料,終於得知答案,
其實原因在這本書一開頭就有提到:

 

......
即便是相同的 XML 資料,在不同瀏覽器中,
還是有可能出現節點讀出位置不同、解釋方式不同等問題。

問題在於資料裡包含的多餘的空白與換行。

Internet Explorer 並不將空白部分視為節點,
但其它瀏覽器則將空白也視為節點看待,
所以讀出的資料會有所不同。

 

在論壇也有人做相同解答:

 

I suppose it would be more accurate to say that IE does not include white space characters between elements as a text nodes, while other browsers do, and since text nodes are considered to be children of an element, you end up needing to check the nodeType of nodes returned via properties which include firstChild and lastChild.

 

那有沒有解決方式呢?

有。

解答在這篇網誌文章中:

 

Use getNextSibling(element) instead of element.nextSibling.
Use getFirstChild(element) instead of element.firstChild.

function getNextSibling(startBrother)
{
           endBrother=startBrother.nextSibling;
           while(endBrother.nodeType!=1)
           {
                       endBrother = endBrother.nextSibling;
           }
           return endBrother;
}

function getFirstChild(elm)
{
           if ( !elm.childNodes.length )
           {
                       return;
           }
           var children = elm.childNodes.length;
           for ( var i = 0; i <= children; ++i )
           {
                       if ( elm.childNodes[i].nodeType == 1 )
                        {
                                       return elm.childNodes[i];
                        }
           }
           return;
}

 

至於 lastchild 的解法呢?
在這篇有提到:

 

var node=document.getElementById( "abc" ).lastChild;
if( node.nodeType != 1 ) node = node.previousSibling;
node.style.color = "red";

 

不過以上方法我沒實際測過,
歡迎測過的人給予心得或意見喔~~ ^^ 

 

 

 

  • firstChild and nextSibling differences between Firefox and Explorer | Marcus Nyberg
  • FireFox firstChild issue - Dev Shed
  • Firefox - :first-child, :only-child, and :last-child Broken Since 2001 | kaioa.com
  • firstchild doesn't work in firefox : firstchild, firefox
  • Agave Group » Blog Archive » Firefox DOM - whitespace and newline
  • 小飘的排泄处 - FireFox 下如何取lastChild - 腾讯博客 - Qzone

 

留言 (0) | 引用 (0) | 人氣 () | 轉寄 | 檢舉
此分類上一篇:《Ajax 範例活用辭典》筆記 - Part V | 主頁 | 此分類下一篇:《Ajax 範例活用辭典》筆記 - Part IV
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆)
發表你的留言 (字數限制 最多 2000 個中文字)
私密留言: 是 否
Name:



是 否
內容:
檢視行動版網頁  |  檢視正常版網頁
系統公告
熱情贊助
系統工具

Sylvia 小檔案
個人圖檔
ID:csylvia
暱稱:Sylvia
地區:臺北市
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

文章分類
  • 語言筆記 (3)
    • 其他語言 (2)
    • 日文 (6)
    • 英文 (19)
  • 創作欣賞 (7)
    • 文章 (1)
    • 設計 (2)
    • 毛線球 (2)
    • CG (8)
    • 不織布 DIY (5)
    • 串珠飾品 (12)
    • 其他創作 (1)
  • 電視影集 (3)
    • 紀錄片/連續劇 (11)
    • 經典影集 (14)
    • 綜藝節目 (7)
  • 科技資訊 (20)
    • AJAX (42)
    • C/C++ (61)
    • WM5.0 (26)
    • Code::Blocks 相關 (29)
    • Symbian (26)
    • JAVA (8)
    • ActiveX (25)
    • Database (7)
    • ASP (9)
    • AIR (2)
    • JavaScript (36)
    • FLASH (15)
    • 網頁相關 (13)
    • PHP (5)
    • Batch File (9)
    • VLC (15)
    • Linux 相關 (3)
    • 其他 (38)
    • Install (2)
    • SOAP (1)
  • 動漫遊戲 (3)
    • 其他動漫 (1)
    • 日本動漫 (22)
    • 西洋動漫 (9)
  • 生活資訊 (6)
    • 飲食美味 (2)
    • 美容美髮 (6)
    • 體操按摩 (5)
    • 有用資訊 (11)
    • 螢養保健 (11)
    • 小辭典 (13)
  • 資源連結 (4)
    • 介紹&推薦 (45)
    • BLOG小玩意 (44)
    • 噗浪 (9)
    • 資源整理 (12)
  • 真人電影 (4)
    • 東洋電影 (2)
    • 國片電影 (5)
    • 電影介紹&推薦 (20)
    • 西洋電影 (35)
  • Amway (3)
    • 其他筆記 (4)
    • 教室課程 (4)
    • 紀錄 (3)
  • 個人記事 (6)
  • 書籍藝文 (39)
  • 話題探討 (30)
  • 烹飪學習簿 (0)
  • @ (0)
csylvia的最新的回應
  • 路人:
    你好:) ...
  • simth:
    綠林的電子書不錯,...
  • 匿名:
    您好,我們是愛閱二手書...
  • clive:
    謝謝您呀!最近也在尋找...
  • 匿名:
    您好,我們是愛閱二手書...
  • Joyce:
    私密留言
  • ronaldochow2011:
    喜迎回訪小弟的blog...
  • A-HA:
    哈,胡言亂語~不懂的,...
  • 【無米樂】導演徵求宣傳義勇軍:
    各位兄弟姐妹 大家好:...
  • 欣:
    不好意思版大再請教一些...
網站集結
aNobii 書櫃
天氣
珍惜台灣
台灣是我的國家
台灣貨‧暢其流
天下雜誌綠色行動4力串聯貼紙

該推就是要推
禁虐



搶救生命 棄兒不捨!
天下雜誌台灣不願面對的真相貼紙



Chine Free

力挺泰山串聯貼紙
RANKING
Google PageRank Checker



Free PageRank Meter for blog.webs-tv.net/csylvia
RSS 訂閱


人氣指數
當日人次:
累積人次:
網誌搜尋
搜尋:
參觀者
RSS 訂閱
RSS2
ATOM
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空部落 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊