Javascript 如何从标记中提取href部分中哈希#后的文本?

Javascript 如何从标记中提取href部分中哈希#后的文本?,javascript,jquery,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> 函数tellMyName() { 警报(t

我有以下几个标签:

<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>

函数tellMyName()
{
警报(this.href);
}
现在,我想将tellMyName函数绑定到所有的a标签上,如果单击了任何标签,则获取标签1,如果单击了标签2,则获取标签2,依此类推……


<script>
function tellMyName()
{
    var text = this.href;
    text = text.replace("#","");
    alert(text);
}

</script>
函数tellMyName() { var text=this.href; text=文本。替换(“#”和“”); 警报(文本); }
并非所有时间都只有散列部分会显示在链接上。有时会将主机添加到
href
。通过使用
散列(#)拆分href并获取拆分字符串的第二部分,您将获得所需内容。

尝试以下操作-

<a href="#tab1">Any tab1 Label</a>
<a href="#tab2">tab2 Label</a>
<a href="#tab3">Any tab3 Label</a>

<script type="text/javascript">
$('a').click(function(){
alert(this.hash.split('#')[1]); //This will alert # part in clicked anchor tag
});
</script>

$('a')。单击(函数(){
alert(this.hash.split(“#”)[1]);//这将在单击的锚标记中发出#部分警报
});

你可以这样做

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

您可以使用以下内容:

...
var activeTab = $(this).attr("href");
$(activeTab).fadeIn();
...

使用href=“#tab id”查找所需的#tab id元素,然后淡入。

我还注意到一件事……我认为您必须使用等等……如下所示,您必须将此函数绑定到锚定标记。i、 点击(tellMyName);是的,当我搜索时,它返回了正确的一个。。。thnx和binding一直在工作,好像应该是this.hash.substr(1)一样,我使用location.hash
function tellMyName() {
    var str = this.prop("hash").substr(1)
    alert(str);
}

this.prop("hash") will return the hash value i.e #tab1
var fragment = $('a#my-link')[0].hash.substr(1);
...
var activeTab = $(this).attr("href");
$(activeTab).fadeIn();
...
function tellMyName() {
    var str = this.prop("hash").substr(1)
    alert(str);
}

this.prop("hash") will return the hash value i.e #tab1