1

申し訳ありませんが、ここで jQuery 初心者の質問です。クラス .thumbnail を持つすべての div 要素を、コールバック関数でクリック可能にしようとしています。しかし、そのクラスの div の 1 つがクリックされると、その特定の div をさらに操作できるように、その特定の div の特定の ID が必要になります。クリックした特定の div を参照するために 'this' を使用するのか、それともこれを間違った方法で見ているのか、私は混乱しています。

これは jQuery の専門家が答える非常に簡単な質問だと思います。長い 1 日で、私の脳は完全にゾンビ化しています。

sudo コードの例:

<script>
$(document).ready(function() {

    $(".thumbnail").click(function() {

        //need to get id of thumbnail that was clicked, this is where I am confused       
        var thumbnail_id = $(this).attr('id')
        alert(thumbnail_id);

     });

});

</script>

<div class=thumbnail" id="1">Tom</div>
<div class=thumbnail" id="2">Jerry</div>
<div class=thumbnail" id="3">Sue</div>
<div class=thumbnail" id="4">Mary</div>
<div class=thumbnail" id="5">Brian</div>
4

2 に答える 2

2

サムネイルは好きなように書くべきだと思い"thumbnail"ませんかthumbnail"

于 2013-03-29T22:52:28.463 に答える
0

あなたのjQueryの問題が何であるかは不明です。あなたが求めている質問に対処するために、コードでオブジェクトがクリックされると、clickハンドラーが呼び出され、thisクリックされた DOM 要素に設定されます。これは、サムネイル クラスを持つオブジェクトが 1 つまたは複数ある場合に機能します。

問題が本当に HTML のエラーである場合は、不足している引用符を追加してこれを変更する必要があります。

<div class=thumbnail" ...

これに:

<div class="thumbnail" ...

参考までに、これを行うより良い方法は次のとおりです。これにより、引用符の問題が修正され、数値の ID 値ではなくデータ属性が使用されます。

実際のデモ: http://jsfiddle.net/jfriend00/8tczB/

<script>
$(document).ready(function() {
    $(".thumbnail").click(function() {
        //need to get id of thumbnail that was clicked, this is where I am confused       
        var thumbnail_id = $(this).data('id');
        alert(thumbnail_id);
     });
});
</script>

<div class="thumbnail" data-id="1">Tom</div>
<div class="thumbnail" data-id="2">Jerry</div>
<div class="thumbnail" data-id="3">Sue</div>
<div class="thumbnail" data-id="4">Mary</div>
<div class="thumbnail" data-id="5">Brian</div>
于 2013-03-29T22:52:49.967 に答える