繁体   English   中英

为什么我的简单jQuery代码无法与.css()方法一起使用?

[英]Why my simple jQuery code doesn't work with .css() method?

我有以下简单的代码,但似乎不起作用。

jQuery(document).ready(
    function($)
    {
        $(window).resize(
            function()
            {
                setGrid($);
            }
        );

        setGrid($);
    }
);

function setGrid($)
{
    var contactContainer    =   $('#contactInfo');

    if(contactContainer.width() < 650)
    {
        console.log('Too short');
        $('.col_1_2').css(
            {
                width     :   '100% !important',
                margin    :   '0 !important'
            }
        );
    }
    else
    {
        console.log('Too long');

        $('.col_1_2').css(
            {
                width       :   '49% !important',
                marginRight :   '1% !important'
            }
        );

        $('.last').css(
            {
                width       :   '49% !important',
                marginRight :   '0 !important',
                marginLeft  :   '1% !important'
            }
        );
    }
}

因此,当我调整窗口大小时,根据#containerInfo,我在Chrome控制台中同时收到了两条消息,但是.col_1_2并未更新。

我的代码有什么问题,我找不到吗?

注意:我的控制台已打开,但控制台中未出现任何错误消息。 同样在控制台的“元素”选项卡中,我正在检查必须修改的元素,但看不到任何更改。 通常,应在匹配的元素上添加“样式”属性。

亲切的问候

尝试脱掉!important ...不需要它们,因为.css所应用的样式会直接添加到元素中(覆盖所有可能应用的其他样式)。

试试这个,您在属性中缺少'(quote) 在所有CSS中添加quote ,然后它将起作用。

$('.col_1_2').css(
        {
            'width'       :   '49% !important',
            'margin-right' :   '1% !important'
        }
    );

jQuery将不允许您尝试设置!important。 但是,我认为以下将为您工作。

jQuery.style(name, value, priority);

您可以使用它来获取.style('name')的值,就像.css('name')一样,使用.style()获取CSSStyleDeclaration,还可以设置值-可以将优先级指定为“重要” 。 参见https://developer.mozilla.org/en/DOM/CSSStyleDeclaration

尝试类似:

var div = $('someDiv');
console.log(div.style('color'));
div.style('color', 'red');
console.log(div.style('color'));
div.style('color', 'blue', 'important');
console.log(div.style('color'));
console.log(div.style().getPropertyPriority('color'));

但是,使用媒体查询是继续进行的正确方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM