我在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变量?我不知道该怎么做。
答案 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");
});