-1

HTML:

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

span を保持する div の id を取得したいので、id を.files取得#file_50 します

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

この試行は、最初の div の ID を取得しています。#myImages

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

推測ですが、未定義を返しています。

これどうやってするの?

4

3 に答える 3

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'))

デモ

 $('.files').on('click', function () {
     console.log("Sent id: " + $(this).parent().attr('id'))
 });
于 2013-10-08T14:14:16.313 に答える
0
console.log("Sent id: " + $(this).parent()[0].id);

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

2 番目のケースに注意し.attrてください。ID の配列が得られる可能性があるため、配列を使用しています。

于 2013-10-08T14:18:57.303 に答える
0

これを試して

alert("Sent id: " + $(".files").parent().attr('id'));
于 2013-10-08T14:16:08.247 に答える