DOM上の改行ノード

question:1203511355
こちらを見て試しにスクリプトを書いた。(後から気付いたけど回答権なしでしたが(笑))

で、思ったのがIE以外で取得できる要素間のレンダリングされないテキストノードを除外するのは結構大変・・・
というかメゲタ。
単なる空白だから後で無視できればいいんだろうけど、IEとの差分が埋められないのがちょっと残念。

ちなみに書いたscriptは以下。

// テキストノードのnodeValueを配列で得る
//  引数:Object(element)/String(elementId)
//  返値:Array
function getTextArray(targetElement){
	var result = new Array();
	var anlzTree = function(parent){
		for(var obj=parent.firstChild;obj;obj=obj.nextSibling){
			if(obj.nodeName == '#text') {
				result.push(obj.nodeValue.replace(/\n/g,''));
			} else if(obj.hasChildNodes()){
				anlzTree(obj);
			}
		}
	}

	anlzTree(
		(typeof(targetElement)=='string')?
		document.getElementById(targetElement):
		targetElement
	);
	return result;
}