如何通过javascript中的超链接执行操作

时间:2012-01-06 07:44:34

标签: javascript

如何使用javascript

获取div内部超链接执行的操作
<div id="example">
<a href="#">a<a>
<a href="#">b</a>
<a href="#">c</a>
</div>

4 个答案:

答案 0 :(得分:2)

var links = document.getElementById('example').getElementsByTagName('a');

links[0].onclick = function(){
  alert('a clicked');
}

links[1].onclick = function(){
  alert('b clicked');
}

links[2].onclick = function(){
  alert('c clicked');
}

Working Example

您也可以在循环中附加事件处理程序:

var links = document.getElementById('example').getElementsByTagName('a');
    for(var i = 0;i < links.length; i++){
        links[i].onclick = function(e){
            var event = e || window.event;                    
            alert(e.target.innerHTML + ' link was clicked!!!');
        }
}

答案 1 :(得分:0)

我猜你是来自java背景。因此,默认情况下,在JavaScript中无法执行所执行的操作。既不是锚点也不是<a>,锚点通常用于链接到外部或内部链接。

<a href="mypage.html"> Goes to a mypage.html </a>

正如您所采取行动所要求的是事件。为此你应该做这样的事情

<a href="#" onclick="test();">Test Link </a>

以上链接的作用是,执行javascript函数名称test();

function test() {
    alert('ok the action is performed'); 
    return false; //so that the browser does not decides to navigate after the function is executed
}

一些javascript库会为您提供一些解决方法。这是在JQuery中完成的基本示例

$("#example a">.click(function() {
   //now you have got the action performed work around. 
   // You can use this as you like
   // $this represent the item that was clicked
});

对于核心中的此功能。 @Headshota答案是很好的例子。

答案 2 :(得分:0)

@Headshota引用div中所有链接的示例是合理的,我只是在扩展它。我不确定你的链接的action是什么意思所以我假设你指的是它指向的网址,也许是目标(弃用)。

var links = document.getElementById('example').getElementsByTagName('a');

links[0].onclick = function(){

    // `this` inside this handler points to the <a> element that has been clicked
    var href = this.href //where the link points
    var target = this.target //if required

    //do something with href and target

    return false; //don't follow the link
}
etc...

答案 3 :(得分:-1)

$("#example a").click(function() {
    alert("action");
});