Javascript 获取div的父级的父级

Javascript 获取div的父级的父级,javascript,jquery,html,parent,Javascript,Jquery,Html,Parent,我已经搜索并尝试了很多方法来实现这一点,比如nestest()和parents()和parent()和find(),但我根本无法实现 我有这个html <div class='message_holder area2 user45 chatid32'> <a class='avatar' title='jhon'> <img height='28px' width = '28px' src="link to image" />

我已经搜索并尝试了很多方法来实现这一点,比如
nestest()
parents()
parent()
find()
,但我根本无法实现

我有这个html

<div  class='message_holder area2 user45 chatid32'>
    <a class='avatar' title='jhon'>
       <img height='28px' width = '28px' src="link to image" />
    </a>
 <div class='flag_holder'>
    <div class='edited  png32'></div>
    <div class='  png32'></div>
 </div>
 <div class='message user_chat'> hghgghgh</div>
 <div class='like_holder'>
    <div class='chattime'>02-12 22:16</div>
    <div class='likepng'></div>
    <div class='likescore'>5</div>
    <div class='unlikescore'>0</div>
    <div class='unlikepng'></div>
    <div class="like">
        <div class="editpng"></div>
        <div class="deletepng"></div>
    </div>
 </div>
</div>
我只是想知道为什么他们不在我的努力下工作。哪里可能是我的错

编辑:

我不知道这是否有一个角色或没有,我有什么我试过在对话框内这样

$(document).on(“click”,“.deletepng”,函数(){
$this=$(this);
$(''+c_delete+'')。对话框({
可调整大小:false,
按钮:{
“是”:函数(){
chat_text_h.html('Removed');//在此处执行操作
$(此).dialog(“关闭”);
//警报($this.nearest(“.like”).html());我可以让它正常工作
//警报($this.parents(“.like_holder”).html()无效
//警报($this.closest(“.like_holder”).html()无效
//警报($this.parent().parent().html());无法工作
//警报($this.closest(“.like_holder”).find(“.like_holder”).html())无效
}
}
});
});
$this.closest(“.like”).html()=>这将返回父div的HTML,删除按钮在其中。不删除元素

$this.parents(“.like_holder”).html()
=>这将返回
div.message_holder的
html
。不移除该元素

$this.closest(“.like_holder”).html()
=>这将返回
div.like_holder的
html
$this.parent().parent().html()关闭高,但仍然远=>
html
of
div.like\u holder
$this.closest(“.like_holder”).find(“.like_holder”).html()
returnnull=>在
div.like\u holder
中没有类为
like\u holder
的子元素

一类例子

$(document).on(“单击”、“.deletepng”,函数(){
var$parent=$(this.parent().parent();
$parent.find('.likepng').remove();
$parent.find('.unlikepng').remove();
});
.deletepng{
背景色:红色;
}

高生长激素
02-12 22:16
像我一样
5.
0
不像我
删除按钮

您可以访问美元的父项(如下所示):

然而,这通常是不明智的。不过,您将拥有一个jquery对象


让我知道你的进展如何

使用
最近的
,然后使用第二个参数作为上下文

$(document).on(“click”,“.deletepng”,function()){
var$holder=$(this).closest('.like_holder');
$('.likepng、.unlikepng',$holder.remove();
});

高生长激素
02-12 22:16
喜欢
5.
0
不像
删除

试试这个,你需要父母的兄弟姐妹

alert( $this.closest(".like").parent().find(".unlikescore").html()); 
alert ($this.closest('.like').siblings('.unlikepng').html()) ;  

工作

要选择元素父元素的父元素,请尝试以下操作:

$(document).on ("click", ".deletepng", function () {


     alert( $($(this).parent()).parent().html());

 });
因为您只能对Jquery对象执行parent()方法。
下面是一个与代码无关的示例

两者我都没有定义:(这些对我来说似乎没问题,创建一个提琴。真的吗?你想用变量
this
获取你的图像表单框?你不能这样做。你有
消息持有者的ID吗?
?我知道它不会删除,先生,我只想在html警报中看到它,然后删除它,但它一直给我未定义且在警报中不起作用的信息。更新了a。)答:是的,我尝试了你的更新,但没有成功。没有删除任何内容。即使在你的代码片段中,我也没有移动“喜欢”和“不喜欢”的div。现在它可以在你的编辑中工作:),哈哈哈,你是天才:)。非常感谢。请稍作解释,这样我现在就可以从你那里学到一些新东西:)。我应该在对话框之前定义它,对吗?
alert( $this.closest(".like").parent().find(".unlikescore").html()); 
alert ($this.closest('.like').siblings('.unlikepng').html()) ;  
$(document).on ("click", ".deletepng", function () {


     alert( $($(this).parent()).parent().html());

 });