jQuery .addClass()和.removeClass()仅适用于元素的第一个实例

时间:2014-07-06 16:08:29

标签: javascript jquery css

我在下面有以下代码:

<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的所有元素

2 个答案:

答案 0 :(得分:1)

你必须使用一个班级。 ID是唯一的,因此它们只能应用一次。如果你这样做:$('。thumb')那么你会没事的。

答案 1 :(得分:0)

通过html validator运行您的来源可能会有所帮助,这有助于指出拥有多个具有相同ID的元素无效。这就是为什么它只更新你的12个元素中的第一个。

仔细阅读此http://css-tricks.com/the-difference-between-id-and-class/是一个快速参考,可以帮助解释这里发生了什么/为什么/如何进行。