如何从标签中的href部分中的hash#之后提取文本?

Koo*_*bin 20 javascript jquery

我有以下标签:

<a href="#tab1">Any tab1 Label</a>
<a href="#tab2">tab2 Label</a>
<a href="#tab3">Any tab3 Label</a>
<script>
function tellMyName()
{
    alert(this.href);
}

</script>
Run Code Online (Sandbox Code Playgroud)

现在我想的tellMyName功能绑定到所有的一个标签,并得到TAB1如果任何tab1的标签被点击,TAB2如果TAB2标签被点击等等...

sje*_*397 40

function tellMyName() {
  alert(this.hash.substr(1));
}

$('a').click(tellMyName);
Run Code Online (Sandbox Code Playgroud)

  • this.hash对我不起作用,我使用了window.location.hash (3认同)

rob*_*nal 21

function tellMyName() {
    var str = this.href.split("#")[1];
    alert(str);
}
Run Code Online (Sandbox Code Playgroud)

并非所有时间只有哈希部分将显示在链接上.有时主机被添加到href.通过使用hash(#)拆分href 并获得拆分字符串的第二部分,您将得到您想要的结果.


ale*_*lex 5

你可以做这样的事情

var fragment = $('a#my-link')[0].hash.substr(1);
Run Code Online (Sandbox Code Playgroud)

看看这个。