初心者を抜け出そうとしている者です。
画像の下にキャプションを付けたいのですが、
alt= の値を利用しようと思っています。
下記のようなスクリプトで実現できる方法はあるのでしょうか?
<html>
<head>
<script type="text/javascript">
<!--
window.onload = function() {
var list = document.getElementsByTagName('img');
for (var i=0; i < list.length; i++) {
/* ココで、それぞれの<img> の alt=の値を取り出し、
それぞれの<img>の直後に、
'<br><span> alt の値 </span>' を挿入したい
*/
}
}
//-->
</script>
</head>
<body>
<h1>テスト IMGタグの後に文字列出力</h1>
<img src="../images/logo1.gif" alt="Logo1" />
<img src="../images/logo2.gif" alt="Logo2" />
</body>
</html>
※ 上記インデントは全角スペースで書いております。
上のような方法以外でもかまいませんので、
スクリプト例を書いていただけると嬉しいです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
定義通りつくるとこんな感じ。
でもちょっと変ですね・・・<script>
window.onload = function() {
var list = document.getElementsByTagName('img');
for (var i=0; i < list.length; i++) {
var alt=list[i].getAttribute("alt");
if(alt){
var span=document.createElement("span");
span.appendChild(document.createTextNode(alt));
list[i].parentNode.insertBefore(span,list[i].nextSibling);
var br=document.createElement("br");
list[i].parentNode.insertBefore(br,list[i].nextSibling);
}
}
}
</script>
<h1>テストIMGタグの後に文字列出力</h1>
<img src="1.jpg" alt="Logo1" />
<img src="2.jpg" alt="Logo2" />
<img src="3.jpg" />
早速の回答ありがとうございます。
試してみまして、できることを確認しました。
この先は、それぞれ画像を <span>で囲い、style="margin: 5px; float: right;" などを付けたりするつもりです。
どうもありがとうございました。
No.1
- 回答日時:
そういう場合は imgを直接探索するんじゃなくて
識別できるspanかなにかで囲ってそれを変換する方が良いよ
今
<img />
↓
<span class="swap"><img /><br /><span class="altText" /></span>
この形でswapのspanを取り出すか imgのparentにぶら下がってるaltTextのspanをいじるかどっちか。
ただ、見た感じ、改行したいならspanじゃなくdivで囲んだり、htmlとして使われない独自タグを配置して入れ替えるほうがgetElementsByTagNameが使いやすいかもしれないけどブラウザによっては独自タグを使うとhtmlじゃないんで勝手に排除したりするので要求ブラウザを良く確認しないとならないね。
IE6を含めるならdivで囲ってやる方法、足斬りしてIE8とかでいいなら独自タグでいけると思う。
gecko(firefox)やwebkit(safari,chrome)、prest(opera)も検証した方が無難
独自タグってこんな風ね
<item><img /></item>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS htmlについて質問です! 写真のように写真の部分が?になってしまいます。 ファイルもしっかり選べて 1 2023/07/09 21:17
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryでサーバー上のファイル...
-
window.openで値の渡し方を教え...
-
画像をクリックすると別ウイン...
-
outlook2010の不具合で困ってい...
-
タイマーをデジタル時計風にす...
-
MAX関数を使ってからLEFT JOIN...
-
javascriptで毎月替わる画像
-
Slick.jsのオプションrtlについて
-
jQueryで、リンクURLの一致を確...
-
jQueryで同じクラス名のものを...
-
フッター上部に謎の隙間
-
アップロードファイルの種類に...
-
HTMLで条件分岐はできますか?
-
大分類・中分類・小分類
-
HTMLですCSSです 画像のように...
-
Javascript初心者|jQueryの.va...
-
CSS <div>の入れ子が反映さ...
-
createElementで作成した要素を...
-
【javascript で動的に a タグ...
-
画面が真っ白になるのはどうして?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openで値の渡し方を教え...
-
JavaScriptで画面サイズによっ...
-
jQueryでサーバー上のファイル...
-
画像と文字を同時に切り替えたい
-
インラインフレームでのクッキ...
-
setAttributeによる画像の差し替え
-
【jQuery】複数の画像の読み込...
-
JAVAで画像をボタンで切り替え...
-
画像の座標位置取得
-
連番画像「次へ」「前へ」で、...
-
imgのsrcに値を設定するには
-
画像をクリックすると別ウイン...
-
複数のボールの落下、バウンド...
-
連続したURLへのwindow.openの...
-
JavaScriptで画像置換えてクリ...
-
<img src"○.jpg">の○をランダム...
-
スライドショーにフェード効果...
-
jQueryで画像を重ねる
-
クリッカブルマップでリモート...
-
複数のバナーをリロードする度...
おすすめ情報