我正在尝试弄清楚如何在单击范围时在警报中显示此范围的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') );
});
});
答案 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'));
});
});
First put an attr id to span.
你可以做的是将click事件放到class lister
,然后获取在该类中找到的span的id。然后使用.parent()
获取其父级,你现在也可以获得父级id / p>