如何在jQuery中访问<ul> </ul>中包含的特定锚标记元素?

时间:2016-01-17 14:13:34

标签: javascript jquery html click jquery-click-event

我有以下HTML代码段:

<ul id="popover-content" class="list-group" style="display: none">
  <a data-toggle="modal" data-target="#myModal-edit-event" href="ajax_edit_event.php?op=view&event_id={$eventDetails.event_details.event_id}" class="list-group-item" data-dismiss="modal">Edit Event</a>
  <a href="#" class="list-group-item">Invite Members</a>
  <a href="#" class="list-group-item">Delete Event</a>
</ul>

现在我想访问jQuery中的第一个锚标记元素。我想在点击锚标签时写一些逻辑。请注意,我无法为任何这些锚标记分配ID。如果我分配了Id,那么预期的其他jQuery功能就不起作用了。所以我不想在上面的HTML代码中做任何改动。请为第一个超链接的点击事件建议一个jQuery方式解决方案。如果您为所有三个锚标签提供解决方案,那就更好了。

感谢。

由于

3 个答案:

答案 0 :(得分:0)

$( "ul a:first-child" ).click(function(){
 //Your code goes here
});

下次你自己应该做更多的研究!这是一项非常简单的任务;)。

答案 1 :(得分:0)

检查:https://api.jquery.com/eq-selector/

所以你可以做到

$( "#popover-content a:eq(1)" ).on('click', function(){
 //first
});

$( "#popover-content a:eq(2)" ).on('click', function(){
 //second
});

答案 2 :(得分:0)

这将在onclick的所有a后代设置"#popover-content处理程序:

$("#popover-content a" ).on('click',
    function () { 
        if ($(this).index() == 0) {
            //first
        } elseif ($(this).index() == 1) {
            //second
        } elseif ($(this).index() == 2) {
            //third
        }
    }
);