1

抱歉,这里有 jQuery noob 问题,我正在尝试使用回调函数使所有具有类 .thumbnail 的 div 元素都可点击。但是,一旦单击该类的其中一个 div,我需要该给定 div 的特定 ID,以便我可以对该特定的 div 进行进一步操作。如果我会在单击后使用“this”来引用特定的 div,或者我以错误的方式查看它,我会感到困惑。

我确定这是一个非常简单的问题,供您 jQuery 专家回答,这是漫长的一天,我的大脑完全僵化了。

示例须藤代码:

<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 元素。如果有一个或多个具有缩略图类的对象,则此方法有效。

如果您的问题确实是您的 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 回答