function showPage(){
var id=document.getElementById("link").getAttribute("href");
alert(id);
}
<a href="#link1" id="link" onclick="showPage();">Div 1</a><br>
<a href="#link2" id="link" onclick="showPage();">div 2</a><br>
有人请帮助我找到这个问题
点击该链接时,其警报仅#link1未显示#link2
答案 0 :(得分:2)
您无法在页面中重复ID。如果您希望将事件发生的元素作为参数传递给this
作为html中的参数。
然后在函数中使用this
HTML
<a href="#link1" id="link-1" onclick="showPage(this);">Div 1</a><br>
<a href="#link2" id="link-2" onclick="showPage(this);">div 2</a><br>
JS
function showPage(element){
var hash = element.hash;
// OR
var hash = element.getAttribute('href');
alert(hash);
}
答案 1 :(得分:0)
同名网页中只有一个ID 所以你使用像这样
function showPage(link){
var id=document.getElementById(link).getAttribute("href");
alert(id);
}
<a href="#link1" id="link" onclick="showPage('link');">Div 1</a><br>
<a href="#link2" id="link1" onclick="showPage('link1');">div 2</a><br>