如何使用JS定位多个元素?

时间:2016-02-06 05:09:39

标签: javascript html

 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

2 个答案:

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