2017-09-05 17 views
0
$('body').on('click', function() { 
    $('.detailTextContainer a').each(function() { 
    var urlFoto = $(this).attr('href'); 
    var imgElement = $("<img />").attr('src', urlFoto) 
           .addClass('dalsiFoto'); 

    $(this).empty().append(imgElement); 
    }); 
}); 

ロードするページ(イベントなし)後にこの機能を自動的に実行する方法を教えてください。 '.detailTextContainer a'は動的要素で、開始ページの直後にページに読み込まれます。jQuery動的要素の各メソッド自動実行

私はこのコードを試してみました:

function showImage(){ 
    $('.detailFeatureDesc a').each(function() { 
    var urlFoto = $(this).attr('href'); 
    var imgElement = $("<img />").attr('src', urlFoto) 
           .addClass('dalsiFoto'); 
    $(this).empty().append(imgElement); 
    }); 
}; 

showImage(); 

をしかし、これは成功しませんでした。

おかげ

+0

参照:http://api.jquery.com/on/ とhttps://stackoverflow.com/questions/1359018/in-jquery-how-to-attach-events-to-dynamic-html-elements –

+0

@Kamilあなたの 'HTML'コードまたはdynamicalllyを読み込むアンカータグコードを共有してください。 – Shiladitya

答えて

0

あなたはload機能を使用することができます。ページは、グラフィックスを含む完全にロードされたときにドキュメントから

$(window).load(function() { 

     // create detailTextContainer here 
     $('.detailTextContainer a').each(function() { 
      var urlFoto = $(this).attr('href'); 
      var imgElement = $("<img />").attr('src', urlFoto) 
              .addClass('dalsiFoto'); 

     $(this).empty().append(imgElement); 

     }); 

}); 

は、この機能を実行します。

それとも、使用することができます。

$(document).ready(function() { 

}); 

や速記は:

$(function() { 

}); 

これが唯一のページドキュメントオブジェクトモデル(DOM)後に実行されるJavaScriptコードを実行するために準備ができています。

+0

ご返信ありがとうございます。しかし、私のページの中の.load()を使ったあなたのソリューションは私のものと同じです。画像要素は、クリックイベントの後に追加される。 このソリューションは機能しません。 $ function(){ $( '.detailTextContainer a').each(function(){ var urlFoto = $(this).attr( 'href'); var imgElement = $( "").attr( 'src'、urlFoto) .addClass( 'dalsiFoto'); $(this).empty()。append(imgElement); }); }; ' –

+0

これは機能するはずですが、各機能の前に動的要素を作成する必要があります。それぞれの前にWindowsの機能(またはドキュメントの準備)をロードするようにしてください.HTMLコードがなくても、実際の例を提供するのは難しいです。 – amicoderozer

0

あなたは、単にウィンドウのロード機能で関数を記述する必要があります

<script> 
$(document).ready(function() { 
    console.log("document loaded"); 
}); 

$(window).on("load", function() { 
    //write your code is given section 
}); 
</script> 
0

リスナー "オン" にしてみてください

$(document).on("click", ".detailTextContainer a", function() { 
    // your code 
}); 
関連する問題