如何知道在jquery中点击了哪个锚点?

Pau*_*aul 1 html javascript jquery onclick drop-down-menu

我有这个代码:

HTML:

<ul class="dropdown-menu" role="menu" id="document_dropdown">
    <li><a class="notify" href="toSomewhere" id="1">Item1</a></li>
    <li><a class="notify" href="toSomewhere" id="2">Item1</a></li>
    <li><a class="notify" href="toSomewhere" id="3">Item1</a></li>
    <li><a class="notify" href="toSomewhere" id="4">Item1</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

JQuery的:

$(document).ready(function () {
    $('#document_dropdown .notify').click(function(){
        var id = $(this).attr("id");
        alert(id);
    });
});
Run Code Online (Sandbox Code Playgroud)

我想要实现的是查看单击了哪个锚并返回该锚的id,以便我可以在另一个脚本中使用它.到目前为止它没有做任何事情.我的代码可能有什么问题?谁能帮我这个?非常感谢你.

Ror*_*san 5

您拥有的代码可以正常工作,尽管this.id从元素中检索本机属性是一种更简洁的方法.如果您希望停止单击导致浏览器发出HTTP请求的链接,则需要添加preventDefault()到逻辑中.

您无法从事件处理程序返回任何内容,因此,如果您需要传递信息,则需要将其存储在全局变量中,或者将该值作为参数调用另一个函数.

$('#document_dropdown .notify').click(function(e){ 
    e.preventDefault();
    var id = this.id;
    alert(id);
    doSomething(id);
});

function doSomething(id) {
    alert('You clicked #' + id);   
}
Run Code Online (Sandbox Code Playgroud)

示例小提琴