如何获得div ID JQUERY

时间:2014-05-15 12:16:08

标签: 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?如果是这样的话怎么办?

6 个答案:

答案 0 :(得分:3)

首先:你应该纠正你的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

答案 1 :(得分:1)

This will help you to work done. Before doing this please correct your code and improve like following. In your code you didn't close the <p> tags.

I suggest don't use anchor tags there go with **fake-link** using <span>..

参考:How to make an anchor tag refer to nothing?

<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> 
</p>
</div>

jQuery的:

jQuery(document).ready(function(){

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

});

答案 2 :(得分:0)

在jquery中使用 .closest()

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

答案 3 :(得分:0)

按钮元素上没有id。如果你设置它,你的代码就会开始工作。

要获取容器的ID,请使用代码

var id = $(this).closest('.pane').attr('id');

点击&#39;点击&#39;功能

答案 4 :(得分:0)

Demo

使用closest()

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

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

    });

答案 5 :(得分:0)

var id = $(this).parents('.pane').attr('id');