jquery - 让选择器更改所有适当的属性,而不仅仅是找到的第一个属性

时间:2014-05-01 01:15:44

标签: javascript jquery

我在jquery选择器上有一个基本的问题。

$(function () {
    $('.grid').hover(function(){
    var divId = $(this).attr("divId");
    var $this = $('#' + divId);
    var newSource = $this.data('alt-src');
    $this.data('alt-src', $this.attr('src'));
    $this.attr('src', newSource);
    });
});

如果我要使用class =“grid”将鼠标悬停在一个div上,怎么能得到var $ this = $('#'+ divId)找到的所有div?改变他们的imgs?这意味着,当这个函数执行时,只有具有相应id的第一个div才会改变它的img src。我希望它能使所有具有适当id(属性)的div改变而不是改变第一个。

另外,我会感谢任何有关我可以修改它的帮助,以便当img改变时它会在'慢'中消失。

感谢。

1 个答案:

答案 0 :(得分:1)

ID和Class属性之间的具体区别在于,ID应始终是唯一的,而类旨在用于标识共享公共分组的一组元素。如果您有多个具有相同ID的元素,则表示您使用的HTML不正确。通过重写代码使每个元素具有唯一ID,您可以依靠那些标识它们所关联的特定元素的ID,然后将要组合的元素组放在一起,这是一个适当的方法。选择一组你正在尝试的元素。