HTML:
<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 {1}}
的ID#myImages
只是一个猜测,但它返回未定义。
我该怎么做?
答案 0 :(得分:4)
你的代码不起作用的原因是因为当你使用parent()时,你会找到你想要的对象,然后你使用find来搜索后代。使用parent()
或closest()
试试这个,使用nearest()
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'))
$('.files').on('click', function () {
console.log("Sent id: " + $(this).parent().attr('id'))
});
答案 1 :(得分:0)
试试这个
alert("Sent id: " + $(".files").parent().attr('id'));
答案 2 :(得分:0)
console.log("Sent id: " + $(this).parent()[0].id);
和
console.log("Sent id: " + $(this).parent().find(".file_bg")[0].id);
在第二种情况下注意,我使用数组,因为.attr
可能会给你一个id数组。