在jquery中选择特定的类

时间:2012-11-24 22:14:22

标签: jquery

我想知道如果使用jquery屏幕尺寸低于1000px,我将如何选择此类并将其更改为span12

<div class="span4 minus65">

我正在使用

$(window).resize(function(){
    if($(this).outerWidth() < 1000){
        $('.span4 minus65').attr('class',"span12");
    }

});

但屏幕宽度低于1000px

时没有任何变化

3 个答案:

答案 0 :(得分:2)

用于具有多个类

的select div
$('.span4.minus65')

并替换所有类:

$('.span4.minus65').removeClass().addClass('span12');

或只替换一个类

$('.span4.minus65').removeClass('span4').addClass('span12');

答案 1 :(得分:1)

听起来您想使用addClassremoveClass函数 e。

$(window).resize(function(){
    if($(this).outerWidth() < 1000){
        $('.span4 minus65').removeClass('span4').addClass('span12');
    }
});

答案 2 :(得分:1)

如果您无法使用媒体查询,则应使用“addClass”和“removeClass”

$(el).addClass('span12').removeClass('span4');

根据浏览器的不同,“调整大小”有时会触发,有时会经常触发。您应该在“调整大小”事件中使用您正在使用的功能并定期触发它:

var resizeFunc = function(){
    //add/remove classes
};

//"fix" the sizing even if "resize" doesn't fire.
setInterval(resizeFunc(), 1000);

jQuery(document).resize(resizeFunc);

另外,调整大小会激发...很多。你也可以“限制”它,使其每隔几百毫秒不会发射一次以上。

您应该考虑使用媒体查询(在较新版本的IE和所有其他现代浏览器中都有很好的支持:

http://caniuse.com/#search=media%20queries