单击

时间:2015-09-12 02:32:25

标签: javascript jquery html

我正在尝试弄清楚如何在单击范围时在警报中显示此范围的ID。更具体地说,我需要它来显示“电影”,以便我可以稍后通过“电影”选择跨度。

如何实现这一目标?谢谢。

http://jsfiddle.net/neowot/x4yfracg/2/

HTML

<div id="Movie" class="Fun">

    <div class="lister">
        <ul class="active"><span>Rodeo</span></ul>
    </div>

</div>

CSS

.lister ul span {
    cursor:pointer;
}

JS

$(document).ready(function() {

    $(document).on('click', '.lister ul span', function(event) {  
            alert( $(this).attr('id') );
    }); 

}); 

3 个答案:

答案 0 :(得分:3)

使用closest在DOM树中搜索祖先的".Fun"

$(document).on('click', '.lister ul span', function(event) {  
        alert( $(this).closest(".Fun").attr('id') );
}); 

http://jsfiddle.net/x4yfracg/5/

有关closest()功能的更多信息:https://api.jquery.com/closest/

答案 1 :(得分:1)

试试这个

$(document).on('click', '.lister ul span', function(event) {  
    console.log( $(this).closest("div").parent().attr("id"));
}); 

答案 2 :(得分:1)

$(document).ready(function () {

    $(document).on('click', '.lister', function (event) {
        alert($(this).find('span').attr('id'));
        alert($(this).parent().attr('id'));
    });

});

FIDDLE

First put an attr id to span. 你可以做的是将click事件放到class lister,然后获取在该类中找到的span的id。然后使用.parent()获取其父级,你现在也可以获得父级id / p>