0

私は jQuery を初めて使用し、jQuery で履歴 API っぽいスクリプトを作成しているので、新しいページで必要な情報だけがクリックで読み込まれます。問題は、変数をハンドラーに配置する方法がわからないことです。少なくとも、ハンドラーと呼ばれると思います。それは間違いなく簡単なことです。

 $("a#click").click(function() {
 var addressValue = $(this).attr("href");

  $("#main").load("addressValue #load");

 return false;
});
4

2 に答える 2

3

使用する場合:

 $("a#click").click(function() {
 var addressValue = this.href;

  $("#main").load(addressValue + " #load");

 return false;
});

それはうまくいくはずです。問題は、変数を文字列に配置していたため、文字列と連結された変数ではなく、変数名として評価されていたことです' #load'

また、hrefjQuery の呼び出しを回避し、ネイティブ DOM アプローチを使用する方がわずかに高速です (これはマイクロ最適化ですが、わずかに安価です)。

this.href厳密に言えば、hrefドメインを含む属性内の値が何であれ、それによって暗示される絶対パスを取得することは注目に値します。一方、jQuery アプローチは属性にあるものを単純に取得するため、次のようになります。

<a href="/help/contact.html">contact page</a>:
this.href            : "http://subdomain.example.com/help/contact.html"
$(this).attr('href') : "/help/contact.html"
于 2012-08-12T15:52:44.303 に答える
1
$("a#click").on('click', function() {
    var addressValue = $(this).attr("href");
    $("#main").load(addressValue+" #load");
    return false;
});
于 2012-08-12T15:52:32.927 に答える