获取列表项内的锚的ID,Javascript

时间:2014-10-21 20:38:26

标签: javascript

使用Javascript,如何获取列表项的id,在列表项中单击锚标记。防爆。

<ul id="ul1">
    `<li id=li1"><a href="page1.html" onClick="get_id_of_parent(....);">Click</a></li>`
</ul>

感谢所有人

3 个答案:

答案 0 :(得分:0)

$('li').on('click', function(){
   var $this = $(this), id = $this.attr('id');

   // do something with id
});

这是有效的,因为this变量指的是点击的任何li

答案 1 :(得分:0)

如果你想要父母的身份:

$('a').on('click',function () {
    var id = $(this).parent().attr("id");
    // some script
});

修改 考虑NewbornCodeMonkey关于链接到不同页面的href的评论......

普通Javascript

您需要向锚点添加onclick事件。你不能不引人注目地做到这一点。所以:

<a onclick="myfunction()" href="...">...</a>

的javascript:

function myfunction() {
    var id = this.parentNode.id;
    // some script
}

答案 2 :(得分:0)

您当前代码的问题是您将从锚标记重定向您的页面。您可以使用href属性来调用javascript函数,或删除锚标记并使用jquery使用the click functionthe on function作为参数对鼠标事件作出反应。

使用锚标记,您可以执行以下操作:

<li id=li1"><a href="myClickFunction();">Click</a></li>


function myClickFunction(){
  var id = this.parentNode.id;
  // use ID here
};

注意:如果您仍希望重定向,那么您也可以将锚标记指向page1.html,并使用jquery监听我已链接的上述函数之一(.on或.click)

另一个选项而不是jquery是getAttribute函数

getAttribute的一个例子:

document.getElementsByTagName("a")[0].getAttribute("id");