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; }