1

このコードをデバッグしようとして、髪を引っ張る準備ができています。別のページに移動せずに同じページに多数のサブ投稿を表示する必要があるページがありますが、コードを機能させることはできませんが、問題は見つかりません。私はそれを完全に削除し、ゼロから書き直してエラーを見つけようとしましたが、何もありません.いつものように、javascriptはエラーを指摘するのが恐ろしいです. 私はfirebug、jslintを試し、jsfiddleで同じ構造を作りましたが、問題を見つけることができません。同じコードが jsfiddle では正常に機能しましたが、他の場所では機能しなかったと言えます。ページが jquery を正しくロードしていることがわかったので、API は問題ではありません。助けてください、私は他に何をすべきかわかりません!

コード構造は次のとおりです。

HTML投稿ナビ

<ul id="sub_select">
  <li class="select">
   <a href="#post1">Post 1</a>
  </li>
  <li class="select">
   <a href="#post2">Post 2</a>
  </li>
</ul>

HTML投稿

<div id="post1" class="about_txt">
  <div class="title">
    <h1>Post 1</h1>
  </div>
  <div class="desc">
    <p>The post itself</p>
  </div>
</div>
<div id="post2" class="about_txt" style="display: none;">
  <div class="title">
    <h1>Post 2</h1>
  </div>
  <div class="desc">
    <p>The post itself</p>
  </div>
</div>

jQueryスクリプト:(

$(document).ready(function() {
    $(".select a").click(function(event){
        event.preventDefault();
        $(".about_txt").hide('slow');
        var toShow = $(this).attr('href');
        $(toShow).show('slow');
    });​
});

更新: 明らかにコピーするのを忘れていた $ を追加しましたが、これを指摘してくれてありがとう。私はまだ問題があります。

4

2 に答える 2

6

このコードの最後に「見えない」文字があるようです:

$(".select a").click(function(event){
    event.preventDefault();
    $(".about_txt").hide('slow');
    var toShow = $(this).attr('href');
    $(toShow).show('slow');
});​  //<= There's an invisible character here, 
     //    you can try pressing backspace once at the end of the semicolon

簡単に修正するには、見えない文字を削除するか、次のコードをコピーして貼り付けて、自分のものに置き換えます。

$(document).ready(function() {
    $(".select a").click(function(event){
        event.preventDefault();
        $(".about_txt").hide('slow');
        var toShow = $(this).attr('href');
        $(toShow).show('slow');
    });
});

編集:少し調査したところ、見えない文字はZERO WIDTH SPACE (U+200B)であることがわかりました

于 2012-09-20T02:21:40.820 に答える
1

この行 (document).ready(function()は次のようになります。ドキュメントの前に$記号$(document).ready(function() が必要です。

クリックイベントを再確認するには、クリックイベントをコメントアウトして、アラートを配置します。アラートが発生するかどうかを確認します。

于 2012-09-19T23:15:28.140 に答える