jQuery . addclass()和. removeclass()只适用于元素的第一个实例

jQuery .addClass() and .removeClass() only applies to first instance of the element

本文关键字:元素 第一个 适用于 实例 removeclass addclass jQuery      更新时间:2023-09-26

我有以下代码:

<script type="text/javascript">  
    var $info = $('#thumb');
    enquire.register("(max-width: 480px)", {
    match: function() {      
    $info.removeClass('col-xs-6');
    $info.addClass('col-xs-12');
    },

    unmatch: function() {
    $info.removeClass('col-xs-12');
    $info.addClass('col-xs-6');      
    }
    }).listen();
    </script>

我使用Enquire.js来动态地添加和删除元素中的css类。

上面的代码只适用于第一个'#thumb'。我有大约12个元素具有thumb id。有人知道我如何将它应用于具有相同ID的所有元素

必须使用类。ID是唯一的,所以只能申请一次。如果您执行:$('.thumb'),则不会有问题。

通过html验证器运行源代码可能会有所帮助,这将有助于指出具有相同id的多个元素是无效的。这就是为什么它只更新12个元素中的第一个。

通读这个http://css-tricks.com/the-difference-between-id-and-class/是一个快速参考,可以解释什么/为什么/如何在这里发生了什么。

#xxx是按id获取的。你需要确保这个id是唯一的。如果你想get by class是。xxx代表get by class,你会在数组中得到它。所以需要使用for循环来addclass或removeclass