0

概念実証の Web サイトを作成しようとしていますが、完全な劣化が必要です。そのため、最初にプレーンな XHTML で Web サイトをコーディングしてから、クラスと ID を追加して jQuery にフックします。

私がやりたいことの 1 つは、最終的にすべてのリンクに対して Ajax xmlhttprequest を有効にして、それらがビューポート div に表示されるようにすることです。このビューポートを、複数の外部ページからの xmlhttprequest の「ユニバーサル」ダンプにしたいと考えています。

次のようなものをハードコーディングできるかどうか疑問に思っていました:

<a href="blah.html" class="ajax">, <a href="bleat.html" class="ajax">

ご覧のとおり、Ajax リクエストを呼び出したいすべてのリンク タグに ajax クラスを指定します。jQuery に基づく私の JS では、正のすべての ${"a").filter(".ajax") が自動的にそれぞれの hrefs [変数] を ajax リクエストとしてロードするようにコーディングできるようにしたいと考えています。

助けてください。私はn00bです。

4

2 に答える 2

0

あなたの例では、次のことができるはずです。

$('.ajax').click(function () { 
    // Your code here. You should be able to get the href variable and
    // do your ajax request based on it. Something like:
    var url = $(this).attr('href');
    $.ajax({
        type: "GET",
        url: url
    });
    return false; // You need to return false so the link
                  // doesn't actually fire.
});

「ajax」とは別のクラスを使用することをお勧めします。コード$('.ajax')が読みにくくなり、$.ajax().

パーツは、ページ上のすべての要素の$('.ajax').click()onClick イベント ハンドラーをクラス "ajax" に登録します。これは、まさに必要なものです。次に$(this).attr('href')、クリックされた特定のリンクの href を取得してから、必要なことを実行します。

于 2009-03-06T00:46:58.330 に答える
0

何かのようなもの:

function callback(responseText){
    //load the returned html into a dom object and get the contents of #content
    var html = $('#content',responseText)[0].innerHTML;
    //assign it to the #content div
    $('#content').html(html);
}

$('a.ajax').click(function(){
    $.get(this.href, callback);
    return false;
});

ナビゲーションが複数回表示されないように、#content div の外側にあるすべてのものを解析する必要があります。私は正規表現について考えていましたが、おそらくjQueryを使用してそれを行う方が簡単なので、例を更新しました.

于 2009-03-06T00:58:06.820 に答える