0

6 行目のコードが機能しません。助けてください。

function ajax() {
    $('a[class="ajax-cw"]').click( function() {
        $('#cw').load( this + "?ajax" );
        $('#nav li.current').removeClass('current');
        var $base = $("base").attr("href"),
            $link = this.replace($base, ""); //Line does not work
        alert ($link);
        return false;
    });
};
4

4 に答える 4

1

現在クリックされているリンクの href コンテンツの一部をベース オブジェクトのコンテンツに置き換えようとしている場合は、次の方法で href コンテンツにアクセスする必要があります。

var currenthref = $(this).attr('href');

次に、replace 行で currenthref を使用します。

$link = currenthref.replace($base, "");

これは文字列ではなく、クリックしたリンク要素を表すオブジェクト (最も可能性が高いのは jquery) であるため、この置換関数は正しく機能しません。

于 2012-05-01T01:28:50.780 に答える
0

this6 行目は<a />タグであり、そのタグの href ではありません。 $(this).attr('href').replace($base,"")パフォーマンスが向上します。

于 2012-05-01T03:15:44.520 に答える
0

これを試して:

this.href.replace($base, '');
于 2012-05-01T01:24:24.107 に答える
-1

前の行はセミコロンで終了する必要があります。コンマで終了しました。

var $base = $("base").attr("href");
于 2012-05-01T01:25:25.633 に答える