私はいくつかのhrefリンクとそれらのリンクを変更することができる2つのボタンからなるウェブサイトを持っています。
<div class="links">
<p class="hlCategory">Classical Mechanics</p>
<ul>
<li><a class="topic_link" href="#">Position, Velocity, Acceleration</a></li>
<li><a class="topic_link" href="#">Newton's Laws</a></li>
<li><a class="topic_link" href=“#">Friction</a></li>
</ul>
</div>
<div class="buttons">
<p>Choose Dificulty:
<button type=“button" onclick=“beginerButtonAction(this)">Beginer</button>
<button type=“button" onclick="intermediateButtonAction(this)">Intermediate</button>
</p>
</div>
元のhtmlが読み込まれた後、リンクがクリックされると、javascriptファイルの警告機能がトリガーされます。
$(function(){
$(".topic_link").click(function(){
alert($(this).text());
});
});
すべて正常です。
問題は、ボタンを押してhrefを変更した後に発生します。
function beginerButtonAction(id) {
$("div.links").remove();
var newLinks;
newLinks= '<div class="links">'+
'<p class="hlCategory">Classical Mechanics</p>'+
'<ul>'+
'<li><a class="topic_link" href=“#”>Moment of Inertia</a></li>'+
'</ul>'+
'<p class="hlCategory"></p>'+
'<ul>'+
'<li><a class="topic_link" href=“#">Drag Force</a></li>'+
'</ul>'+
'</div>';
var $jNewLinks = $(newLinks);
$("body").append($jNewLinks);
}
function intermediateButtonAction(id) {
$("div.links").remove();
var newLinks;
newLinks= '<div class="links">'+
'<p class="hlCategory">Classical Mechanics</p>'+
'<ul>'+
'<li><a class="topic_link" href=“#”>Torque</a></li>'+
'</ul>'+
'<p class="hlCategory"></p>'+
'<ul>'+
'<li><a class="topic_link" href=“#">Momentum</a></li>'+
'</ul>'+
'</div>';
var $jNewLinks = $(newLinks);
$("body").append($jNewLinks);
}
htmlが変更されると、hrefはアラートをトリガーしなくなります。 htmlが変更されたら警告が鳴りたい。 考えていますか?
$( "body")を試してください。 "クリック"、 "。topic_link"、function(){...}) ' –
素晴らしいです!ありがとう! –