我试图通过删除前导 #
将所有片段链接转换为相关片段链接,但以下内容将不会运行:
$('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)
有什么问题吗?
最佳答案
您的$(this)
不指<a>
您的选择器找到的标记,而不是代码的当前范围。您需要使用 function overload of attr相反:
$('a[href^=#]').attr('href', function(i, attr) {
return attr.substring(1);
});
关于javascript - jQuery 上的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21253106/