jQueryスクリプトとAJAXリクエストを含むhtmlページがあります。私のページには、「loading_span」クラスのスパン要素がいくつかあります。href をクリックすると、ajax プロセスが実行されます。そのプロセスは、クラス「loading_span」でいくつかのスパンも生成します。問題は、私の jQuery スクリプトが ajax リクエストによって新しく追加されたスパン要素をトリガーしないことです。
質問は次のとおりです。クラス「loading_span」を持つ新しい要素が追加されたことをスクリプトが認識しないのはなぜですか?
以下に、コードを貼り付けます。
/* file js/javascript.js */
$(document).ready(function() {
$.ajaxSetup ({
cache: false
});
$('#show-more').click( function() {
$.ajax({
url: $(this).attr('href'),
success: function(msg){
$('#all_span').append().html(msg);
},
dataType: "Html"
});
return false;
});
$('.loading_span').each(function(index, span){
console.log($(this).attr('id'));
});
});
index.php ファイル:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="js/script.js" ></script>
<style type="text/css">
.loading_span {
display: list-item;
}
</style>
</head>
<body>
<div id="all_span">
<?php
for($i=0;$i<5;$i++)
echo "<span class='loading_span' id='id$i'>span$i</span>";
?>
<a href="ajax.php" id="show-more">show_more</a>
</div>
</body>
および ajax.pho ファイルの内容
for ($i = 0; $i < 5; $i++)
echo "<span class='loading_span' id='ajax$i'>ajax$i</span>";