0

私のhtmlコードにはこれがあります

<li class="register"><a href="">Registreer</a></li>

<div id="content">

</div>

頭に次のコードを使用して、htmlファイルをdivにロードしようとしています

<script type="text/javascript" src="includes/js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="includes/js/navbar.js"></script>

navbar.js:

$(document).ready(function() {
$(function(){
  $(".register").click(function(){
    $("#content").load("/signup.html");
    document.write("test");
  });
});
});

Web ページ フォルダ全体に signup.html をコピーしました。しかし、うまくいきません。ただし、1/4 秒の表示テストを行います。また、jsコードをhtmlファイルに直接入れようとしましたが、それも機能しません。

4

3 に答える 3

1

あなたは自分自身を繰り返しています:

$(document).ready(function() {
   $(function(){ //same as $(document).ready(function() {
     $(".register").click(function(){
       $("#content").load("/signup.html");
       document.write("test");
     });
   });
});

これをやってみてください:

   $(function(){ 
     $(".register").click(function(){
       $("#content").load("/signup.html");
       document.write("test");
     });
   });

また、リンクのデフォルト イベントを停止してみてください。

   $(function(){ 
     $(".register").click(function(){
       $("#content").load("/signup.html");
       document.write("test");
     });         
     $(".register").on('click', 'a', function(e){
        e.preventDefault(); //prevents action of the link
     });
   });
于 2013-03-11T15:58:58.593 に答える
1
$(document).ready(function () {
    $(".register").click(function(){
        $("#content").load("/signup.html");
        return false;
     });
});

クリック イベントから false を返すことにより、ハイパーリンク要素は既定のアクションを実行しないことを認識します (これが、ページが更新される理由です)。

于 2013-03-11T16:02:40.493 に答える
0

相対 URL を使用する場合、URL は JavaScript が実行されているページに対して相対的です。あなたの場合、文字列「/signup.html」を使用しているため、現在表示されているページのディレクトリから 1 つ上のディレクトリにある singup.html ファイルが検索されます。

Fiddler の IE または Chrome、FireBug の F12 開発コンソールを使用して、AJAX 要求と結果を表示し、「singup.html」が適切なディレクトリからロードされているかどうかを確認します。ロードが完了した後にソースを表示して、DIV にロードされている HTML があるかどうかを確認することもできます。

于 2013-03-11T16:03:00.673 に答える