javascript - 使用 jquery 检查 css 的属性值

标签 javascript jquery css dom if-statement

我不知道我在这里做错了什么。

所以我想使用 jquery 来检查一个 css 类的属性值是否等于某个值。如果是,则执行一些代码,如果不是,则执行其他代码。

问题是其中一些会起作用,而另一些则不会。例如,这是我的 jquery:

if (jQuery( ".mobile_swap" ).css('height') == '100%' ){
        console.log("worked");
    } else {
        console.log("nope");
    }

现在它不起作用,但如果我将其更改为:

if (jQuery( ".mobile_swap" ).css('height') == '100px' ){
        console.log("worked");
    } else {
        console.log("nope");
    }

它会起作用的。所以我的问题是为什么它能识别像素而不是百分比?它也不适用于汽车。显然,当我对此进行测试时,我要确保 css 部分是正确的,所以它是正确的。

提前致谢!

最佳答案

jQuery 评估所选 DOM 元素(在您的情况下为 ".mobile_swap")的当前内部高度(以像素为单位)。这绝不是百分比。

百分比只能在定义 CSS 样式时使用,之后浏览器会评估百分比并在页面加载时将元素设置为该高度(以像素为单位)。

如果您绝对需要根据百分比对其进行评估,则需要检索父元素的高度(或宽度)并根据子元素的高度(或宽度)执行一些基本计算。

关于javascript - 使用 jquery 检查 css 的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21122000/

相关文章:

具有默认值的 JavaScript 路由

html - 尝试使用 min-width 给第一个元素一个宽度

javascript - 如何在 twitter bootstrap 中使元素响应

javascript - 仅使用 CSS 自动调整此 div 的大小

jquery - 如何使用 JQuery 提取 URL 中的最后一个值

用于 sIFR 菜单的 CSS 选择器

javascript - 0x8000ffff JavaScript 运行时错误 意外调用方法或属性访问

javascript - Socket.io 从 Express Controller 发出

javascript - JS/Ruby AES 256 对称性

javascript - 从 mdl 单选按钮获取值