jQuery上的子串

时间:2014-01-21 08:45:02

标签: javascript jquery substring

我正在尝试通过删除前导#将所有片段链接转换为相对链接,但以下内容不会运行:

$('a[href^=#]').attr('href', $(this).attr('href').substring(1));

如果我将$(this).attr('href').substring(1)替换为$(this).attr('href')+'test''test'+'TEST'.substring(1)则会运行。 $(this).attr('href').substring(1)出了什么问题?

1 个答案:

答案 0 :(得分:4)

您的$(this)未引用选择器找到的<a>标记,而是引用代码的当前范围。您需要使用function overload of attr代替:

$('a[href^=#]').attr('href', function(i, attr) {
    return attr.substring(1);
});