使用Javascript传递href值

时间:2014-07-05 14:14:23

标签: javascript jquery html

我在HTML中有几个链接,可以在点击时重新加载页面,但是当用户点击链接并将其存储到变量xhash中时,我想获取每个href的值:

HTML:

<a href='#taba' id='passid'>Link 1</a>
<a href='#tabb' id='passid'>Link 2</a>
<a href='#tabc' id='passid'>Link 3</a>
<a href='#tabd' id='passid'>Link 4</a>

使用Javascript:

$('a').on('shown.bs.tab', function (e) {
var xhash = document.getElementById("passid").hash;
});

当页面重新加载时,它只显示#taba作为HTML中的第一个元素。是否可以将用户点击的href / hash传递给xhash变量?我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

首先,你不能给多个项目提供相同的ID,这就是所用的类,每个页面只能出现一次ID。然后,您可以使用this访问点击的元素:

<a href='#taba' class='passid'>Link 1</a>
<a href='#tabb' class='passid'>Link 2</a>
<a href='#tabc' class='passid'>Link 3</a>
<a href='#tabd' class='passid'>Link 4</a>

$('.passid').on('click', function(){
    alert( this.href ); // No need for jQuery, JS is a lot faster with this
});

您使用的on()不正确,第一个输入应该是事件 Offtopic:你使用单值引用你的值。这没有错,但一般人们在html中使用双引号。

如果您希望在哈希更改时触发一些代码:

$(window).on('hashchange', function() {
    alert('yay, hashchange' );
});

答案 1 :(得分:-2)

HTML代码

<a href='#taba' class='passid'>Link 1</a>
<a href='#tabb' class='passid'>Link 2</a>
<a href='#tabc' class='passid'>Link 3</a>
<a href='#tabd' class='passid'>Link 4</a>

JQuery代码

$('a').click(function (e) {
    var xhash = $(this).attr("href");
});