javascript - JQUERY如何获取div ID

标签 javascript jquery html

如果单击链接按钮,我想获取 ID 或类

<div class="pane alt" id="a">
<h3>Nick says:</h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi malesuada
<p><a href="#" class="btn-delete">Delete</a>  <a href="#" class="btn-unapprove">Unapprove</a>  <a href="#" class="btn-approve" style="display:none">Approve</a>

我创建的用于处理单击的按钮的代码是导致“未定义”的代码

$('.btn-unapprove').click(function(){

    var id = $(this).attr('id');
    alert(id); 

});

那么如果点击链接是否可以获得div id?如果可以怎么办?

最佳答案

首先:您应该更正您的 HTML。因为如果您的 HTML 未在 DOM 中正确加载,那么 Jquery/Javascript 也无法提供正确的结果。

在 HTML 中,您缺少一些结束标记,例如 - “</p>, </div>

<div class="pane alt" id="a">
  <h3>Nick says:</h3>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi malesuada</p>
  <p>
    <a href="#" class="btn-delete">Delete</a>  <a href="#" class="btn-unapprove">Unapprove</a> 
    <a href="#" class="btn-approve" style="display:none">Approve</a>
  </p>
</div>

有多种方法可以完成此任务。

您可以使用 Jquery .closest()

$('.btn-unapprove').click(function(){    
    alert($(this).closest('div.pane.alt').attr('id'));
});

Wokring Example

您可以使用 Jquery .parents()

$('.btn-unapprove').click(function(){    
    alert($(this).parents('.pane.alt').attr('id'));
});

Wokring Example

您可以使用 Jquery .parent()

$('.btn-unapprove').click(function(){    
    alert($(this).parent().parent().attr('id'));
});

Working Example

关于javascript - JQUERY如何获取div ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23677952/

相关文章:

javascript - 使用 Express-Handlebars View 引擎在 Express 4.x 框架中呈现局部 View

javascript - 这个图案有名字吗?

javascript - 无需触摸 html 链接

javascript - 如何根据查询结果 "highlight"一个div?

javascript - Array.forEach() 和 Array.slice() 一起不能正常工作

jquery - CSS、JQuery : Animated transform from 3 lines menu to cross

html - 动画 CSS 文本下划线

javascript - 位置为 :fixed leaves gray trail after scrolling 的传单

html - 如何使用不带任何脚本的按钮关闭模式对话框,该按钮是使用 HTML5/CSS3 创建的