0

このjQueryスクリプトを使用して、altタグから画像のキャプションを作成しようとしています。

$("#content img").each(function () {
    var $this = $(this);
    var title = $this.attr("alt");
$this.after('<div class="caption">'+ title +'</div>');
});

その前に別のjQueryスクリプトを使用していますが、正常に機能しています。altスクリプトのキャプションを機能させることができないようです。

例:www.cslack.com/test.html

ありがとう、

ロバート

4

3 に答える 3

3

問題は、画像が存在する前にコードを実行していることです。

$(function() { code })ドキュメントの読み込み後に実行するには、コードをラップする必要があります。

または、タグの後のタグ<script>の最後にブロックを移動することもできます。<body>img

#contentまた、HTMLには要素がありません。セレクターをに変更するか、imgすべての<img>タグを。内に配置する必要があります<div id='content'>

于 2009-12-08T03:40:14.723 に答える
1

あなたのサンプルページ#contentには、それが機能しない理由などはありません。

<div id="content">コンテンツの周りに配置すると、機能するはずです。

于 2009-12-08T03:39:47.340 に答える
1
 $(function(){

   $('a > img[style]').each(function(){
       $el = $(this);
       var style = $el.attr('style');
       $el.attr('style','');
       $el.parent().attr('style',style);
    }); //Moves the inline styles

      $("img").each(function(){
          var title = this.alt;
          $(this).after('<div class="caption">'+ title +'</div>');
      }); //Adds the dynamic captions.
 }); 
于 2009-12-08T03:40:00.787 に答える