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

时间:2010-10-05 05:40:02

标签: 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函数绑定到所有标签,如果单击任何tab1标签,则 tab1 tab2 如果<单击strong> tab2标签,依此类推......

8 个答案:

答案 0 :(得分:37)

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

$('a').click(tellMyName);

答案 1 :(得分:21)

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

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

答案 2 :(得分:5)

你可以做这样的事情

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

Check it out.

答案 3 :(得分:2)

function tellMyName() {
  alert(this.hash.replace('#',''));
}

$('a').click(tellMyName);

crazy fiddle

答案 4 :(得分:1)

function tellMyName() {
    var str = this.prop("hash").substr(1)
    alert(str);
}

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

答案 5 :(得分:0)

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

</script>

答案 6 :(得分:0)

试试这个 -

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

答案 7 :(得分:0)

您可以使用以下内容:

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

这使用href =“#tab-id”来找到你想要的#tab-id元素,然后淡入。