![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
#2ですが
document.images[i].setAttribute('alt','');
で
<img … ALT="XX" …>
の場合、ALTとaltが一致しないので、うまく機能しないようです。
単純に
document.images[i].alt='';
とすると、HTMLでの大文字小文字は意識しないですみます
この回答への補足
「document.images[i].alt='';」これは使えますね。正規表現とは無関係ですが、試してみます。
肝心のinnerHTMLですが、原因がわかりました。
IEに限っては、innerHTMLに代入されるHTMLはソースそのままのHTMLではなく、IEが勝手に解釈したHTML(メニューから保存したソースに見られる汚いHTML)であり、その中で日本語のALTからはなぜかクォーテーションが外されてしまっていたために、サンプルの正規表現にはマッチしていなかったようです。
つまり正規表現自体は正常に動作していたわけで、こちらの早とちりでした。申し訳ありません。
色々アドバイスありがとうございました。
No.2
- 回答日時:
>document.body.innerHTMLを使用していることが原因
経験的に、innerHTMLによるエレメントなどの動的置き換えは、どんな時でもうまくいくというものではないです。
もしやりたいことが、画像の代替テキストを空白にしたいというようなことであれば
window.onload=function(){
for(var i=0;i<document.images.length;i++){
document.images[i].setAttribute('alt','');
}
};
とすれば、画像の代替テキストを削除(空白に)できます。(バージョンにもよりますが、IE6,Firefoxは、大丈夫)
ALTアトリビュートは、img エレメント以外にも使用できる(例えばinputや、appletなど)ので意図していることと違っていたらすみません。
(全てのエレメントからALTがあるかどうかを調べて、あれば空白に置き換えるということもできると思いますが、おそらく、上記で充分ではないかと思います)
No.1
- 回答日時:
IE6及び、Firefox1.5で試してみましたが、
半角文字のみ、全角文字のみ、混在、
どの場合でも大丈夫でした。
javascript1.3以降文字列はユニコードで扱うようになったので、javascriptt1.3以降では問題ないと思います。
おそらく、それ以前の古いブラウザを使用しているからだと思います。
環境がないので試せないですが、
replace(/ alt="[^"]+?"/i," alt=\"\"")
ではどうでしょうか?
この回答への補足
Firefoxでは上手くいきました。
IE6.0ではダメです。
色々試してみたところ、「文字列」にdocument.body.innerHTMLを使用していることが原因だったようです。普通の文字列は上手くいきました。
innerHTMLはユニコード扱いされないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- HTML・CSS htmlとcssで吹き出しの中に文字を置きたいのですが、 html 〈div class bb〉 〈 3 2023/02/04 22:44
- ノートパソコン chromebookのcaps lockが外れなくなった 5 2022/07/14 19:23
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Word(ワード) Windows11キーボードの調子が悪いので治し方を教えてください。 【症状】 1つ目 キーボードの 5 2022/07/03 14:51
- フランス語 フランス語の à の大文字 1 2022/07/24 00:09
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字色の変化
-
複数のプルダウンメニューの選...
-
選択肢によってラジオボタンを...
-
連動するセレクトボックスの内...
-
iframeのソースを取得したい
-
Null またはオブジェクトではあ...
-
キーコードなどでAlt+○を認...
-
ie=!!document.all
-
Java Script 買い物フォームで...
-
テーブルの行削除について
-
DOM要素を削除しても、イベント...
-
mousewheelイベントについて
-
コンストラクタと静的メソッド...
-
javascript スロットマシン
-
複数プルダウンでメニューを初...
-
デフォルトのリンクの色
-
ロールオーバーについて
-
javascriptのdocument.allにつ...
-
教えてください><
-
IE6だけの判定、IE7だけの判定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScript window.openで開く...
-
文字を一文字ずつ表示
-
DOM要素を削除しても、イベント...
-
FireFoxのjavascriptで自動でキ...
-
javascriptの基本的なことだと...
-
このjavascriptのif文、条件式...
-
XMLでのAttributeを持ったNode...
-
Latexに関する質問です。
-
Null またはオブジェクトではあ...
-
VBAでIEのボタンを押してメッセ...
-
乗換案内 VBAで操作したい
-
javascriptのdocument.allにつ...
-
TexでΣの添え字の位置直し
-
showModalDialogで開いた画面を...
-
ラジオボタンでreadonlyの切替え
-
excle VBA とweb上の検索を利用...
-
LaTeX:数式を等号揃えにする方法
-
TEXTAREA内の改行位置をinnerHT...
-
iframe内のページ(複数)を変更
-
ブラウザのウィンドウサイズに...
おすすめ情報