FC2ブログ
GEEKy Script Writer [perl and more!]
You should permit the JavaScript!!
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
preタグ内の<br />タグを取り除く
以前の方法では<br />以外のタグも削除されてしまっていた
そこで今回は削除すべきエレメントかどうかを判別するようにしてみた
一応IE6,FireFox1.07,Netscape Navigator7.1に於いて期待する結果が得られたが、他のブラウザはインストールしていないためわからない
・・・けどまぁ、恐らく大丈夫だろう


<script type="text/javascript">
<!--
elm = document.getElementsByTagName('pre');
var s = 0;
while(s < elm.length){
var y = 0;
while(y < elm.item(s).childNodes.length){
if(elm.item(s).childNodes.item(y).tagName == 'BR'){
elm.item(s).removeChild(elm.item(s).childNodes.item(y));
}else{
y++;
}
}
s++;
}
//-->
</script>



ちゃんと他のタグが除去されていないかのテスト


動かない場合、elm.item(s).childNodes.item(y).tagNameをalertデバッグするなりして'BR'と等価か調べておき、もし小文字を返したりするようであればor条件文を付け加えるか、もしくは正規表現を使えばいいと思う
つーわけで動かないブラウザがあればコメントください
できるだけこちらで修正等したいと思います
注:そもそもDOMが未サポートのブラウザに対応させるのを要求するのはやめてください

追記:タグの内容が複数行にまたがる場合に除去されない恐れがある
これについてはまた次回で修正しようと思う
追記2:タグの途中で改行しているような(<img src="hoge.jph"[ここで改行して]alt="hoge">のような)場合にはそもそも正常にタグとして働かない恐れがある
・・・これは直せるのか?
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2005 GEEKy Script Writer [perl and more!] all rights reserved.
Powered by FC2ブログ.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。