0

我的第六行代码不起作用。请帮忙。

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');

然后在替换行中使用 currenthref。

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

对此的替换功能将无法正常工作,因为它不是字符串,而是代表您单击的链接元素的对象(最可能是 jquery)。

于 2012-05-01T01:28:50.780 回答
0

尝试这个:

this.href.replace($base, '');
于 2012-05-01T01:24:24.107 回答
0

this第 6 行是<a />标签,而不是该标签的 href。 $(this).attr('href').replace($base,"")会表现更好。

于 2012-05-01T03:15:44.520 回答
-1

您需要以分号结束前一行。你用逗号结束了它。

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