2013-10-08 43 views
-1

HTML:Javascript [jQuery 1.9.1]获取父div的id?

<div id="myImages"> 
    <div id="file_50" class="file_bg"> 
     <span id="button_remove" class="files">Remove Image</span> 
    </div> 
</div> 

我想保存跨度.files的div的ID,所以我得到的ID #file_50 我已经试过:

console.log("Sent id: " + $(this).parent().attr('id')); 

这种尝试越来越第一个div的id,#myImages

console.log("Sent id: " + $(this).parent().find(".file_bg").attr('id')); 

只是一个猜测,但它是returnin g未定义。

我该怎么做?

+4

你没有向我们展示事件发生,因此,这是什么。 –

回答

4

你的代码不工作的原因是因为当你使用parent()时,你到达了你想要的对象,那么你正在使用find来搜索后代。这足以使用parent()或只是closest()

试试这个,用最接近()

console.log("Sent id: " + $(this).closest('div.file_bg').attr('id')) 

或只是closest('div')这样

console.log("Sent id: " + $(this).closest('div').attr('id')) 

或只是.parent()

console.log("Sent id: " + $(this).parent().attr('id')) 

DEMO

$('.files').on('click', function() { 
    console.log("Sent id: " + $(this).parent().attr('id')) 
}); 
0

尝试在第二种情况下这

alert("Sent id: " + $(".files").parent().attr('id')); 
0
console.log("Sent id: " + $(this).parent()[0].id); 

console.log("Sent id: " + $(this).parent().find(".file_bg")[0].id); 

注意,我使用一个数组,因为.attr可能会给你的id的数组。