Javascript 如何使用jquery从内部div获取id

Javascript 如何使用jquery从内部div获取id,javascript,jquery,Javascript,Jquery,如何从内部div获取id。我有许多具有类控制的div,但我想获取父div id。如何获取 $(“.getid”)。单击(函数(){ 警报($(this).closest('div').hasClass('control.attr('id')) }) 内容 内容 问题来自: 最近的选择器,将返回第一个父级div(此处不需要) ,因为如果元素是否具有给定的类,它将返回布尔值。(在您的情况下,第一个父元素没有给定的类控件) 除了使用hasClass()之外,您还需要在closest()方法中直接

如何从内部div获取id。我有许多具有类控制的div,但我想获取父div id。如何获取

$(“.getid”)。单击(函数(){
警报($(this).closest('div').hasClass('control.attr('id'))
})

内容
内容

问题来自:

  • 最近的
    选择器,将返回第一个父级
    div
    (此处不需要)
  • ,因为如果元素是否具有给定的类,它将返回布尔值。(在您的情况下,第一个父元素没有给定的类
    控件
  • 除了使用
    hasClass()
    之外,您还需要在
    closest()
    方法中直接使用
    class
    选择器,如:

    $(this).closest('div.control').attr("id");
    
    $(“.getid”)。单击(函数(){
    console.log($(this.closest('div.control')).attr(“id”);
    })
    
    内容
    内容
    Js:
    除了返回第一个单节点父节点的
    最近的()
    ,您可以使用
    父节点()
    ,但在这种情况下,将返回多个具有目标元素/类/id的节点

    在这种情况下,它只是
    closest()
    的一种替代方案

    $(“.getid”)。单击(函数(){
    console.log($(this).parents('.control').attr(“id”))
    })
    
    内容
    内容
    
    最近('div').hasClass(“控件”)更改为
    最近('div.control')
    您可以使用jQuery的.parents()方法$(此)。父母(“控制”).attr(“id”);您可以,但这与此无关-您应该指出,
    .closest()
    查找最接近的单亲,而
    .parents()
    可以返回多个节点。在这种情况下,没有多个节点,因此无需提及:)
    closest()
    在搜索单个祖先时是首选的,当它在第一次匹配后停止时。未来问题:我从^^^这里^^^得到了这个答案,它表明我可以使用.parents()作为.nestest()的确切替代品-为什么我会得到多个结果?很好的替代方案:)非常感谢你,我能帮你@Zakaria:你能回答这个问题吗: