【问题标题】:How to get div ID JQUERY [duplicate]如何获取 div ID JQUERY [重复]
【发布时间】:2014-07-03 21:12:43
【问题描述】:

如果单击链接按钮,我想获取 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?如果可以怎么办?

【问题讨论】:

  • 改用这个:var id = $(this).closest('.pane').attr('id');
  • 我尝试使用 .closest() 但是当我在浏览器上尝试它时它似乎不起作用,警报不会弹出(甚至未定义)并且其他功能似乎没有运行。有人可以帮忙吗。
  • 使用prop 而不是attr 用于这样的活动资产以达到性能目的。

标签: javascript jquery html


【解决方案1】:

首先:你应该更正你的 HTML。因为如果你的 HTML 没有在 DOM 中正确加载,那么 Jquery/Javascript 也不会提供正确的结果。

在您的 HTML 中,您缺少一些结束标签,例如 -“&lt;/p&gt;, &lt;/div&gt;

<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

【讨论】:

  • 非常感谢亲爱的先生,我不知道为什么最接近()对我不起作用,但父母()就像魅力一样。干杯
  • @Apollo Belvedere:欢迎您 :)
【解决方案2】:
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') );
    });

});

【讨论】:

    【解决方案3】:

    在 jquery 中使用 .closest()

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

    【讨论】:

      【解决方案4】:

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

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

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

      在“点击”功能内。

      【讨论】:

        【解决方案5】:

        Demo

        使用closest()

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

        【讨论】:

          【解决方案6】:
          var id = $(this).parents('.pane').attr('id');
          

          【讨论】:

          • 你怎么能把这个id传给php(代码点火器)
          猜你喜欢
          • 1970-01-01
          • 2019-03-24
          • 2015-09-07
          • 1970-01-01
          • 1970-01-01
          • 2015-04-01
          • 1970-01-01
          • 2019-05-20
          • 1970-01-01
          相关资源
          最近更新 更多