Javascript 在媒体查询中检查body标记是否为类,并为特定类应用css

Javascript 在媒体查询中检查body标记是否为类,并为特定类应用css,javascript,jquery,Javascript,Jquery,我如何检查body标签是否有特定的类,然后将一些css应用到其他类,但前提是媒体查询中的屏幕很小? 我的body标签更改了class thry javascript和hass class=menu或class=menu-open。现在,如果屏幕的最大宽度为640px,class=menu,我需要为class=logo显示添加css:表格,边距:0自动。 我该怎么做呢?假设你的“徽标”在身体内部,我认为你要求在身体有菜单但在类列表中没有打开菜单时应用规则: @media all and (max-

我如何检查body标签是否有特定的类,然后将一些css应用到其他类,但前提是媒体查询中的屏幕很小? 我的body标签更改了class thry javascript和hass class=menu或class=menu-open。现在,如果屏幕的最大宽度为640px,class=menu,我需要为class=logo显示添加css:表格,边距:0自动。
我该怎么做呢?

假设你的“徽标”在身体内部,我认为你要求在身体有菜单但在类列表中没有打开菜单时应用规则:

@media all and (max-width: 640px) {
    body.menu:not(.menu-open) .logo {
        display: table;
        margin: 0 auto;
    }
}

使用jQuery最简单的方法。 可以更改窗口宽度和主体类,如下所示:

var bodyTag = $('body');
var logo = $('.logo');
if($(window).width() < 640 && $(bodyTag).hasClass('menu')) {
    $(logo).css({
         dislpay: 'table',
         margin: '0 auto'
    });
}

但我建议仅在此类任务中使用css。

只需使用子代选择器根据body类body.foo.logo{…}设置徽标元素的格式,并将其包装到需要应用的任何媒体查询中。请重新表述您的问题,我搞不懂你们要的是什么规则是:若屏幕尺寸小于640时,身体有类菜单,那个么在类标志显示表中应用css,边距:0自动…在任何其他情况下,类标志保持显示内联块为真。我真的说不清到底问了什么。如果目标是在打开.menu时不应用样式,那么这似乎是正确的。
var bodyTag = $('body');
var logo = $('.logo');
if($(window).width() < 640 && $(bodyTag).hasClass('menu')) {
    $(logo).css({
         dislpay: 'table',
         margin: '0 auto'
    });
}