使用jQuery'this'和多个元素的选择器

时间:2013-03-29 22:48:21

标签: javascript jquery

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

我相信这对你来说是一个非常简单的问题jQuery大师回答,这是漫长的一天,我的大脑完全被僵尸化了。

示例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>

2 个答案:

答案 0 :(得分:2)

你认为缩略图应该写成"thumbnail"而不是thumbnail"

答案 1 :(得分: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>