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