javascript - jQuery 检查 CSS 宽度是否大于 0 然后添加 CSS 属性

标签 javascript jquery html css

我一定是做错了什么。我希望 jQuery 检查 CSS 元素的宽度是否大于 0,然后添加 CSS 属性:

<script>
$(document).ready(function(){
    $(".neo-P4EMilestonesMilestone").each(function() {
        $(this).css('width') !=0) {
            $(this).css("display", "block");
        });
    });
});
</script>

类元素的默认宽度为 0:

<div class="neo-P4EMilestonesMilestone" style="width:0">

我希望 jQuery 查看任何 .neo-P4EMilestonesMilestone 类,如果宽度未设置为“0”,则添加“display:block”。像这样:

<div class="neo-P4EMilestonesMilestone" style="width:10%;display:block;">

最佳答案

您可以将其简化为以下内容:

Example Here

$('.neo-P4EMilestonesMilestone').each(function () {
    $(this).css('display', $(this).width() > 0 ? 'block' : '');
});

由于多种原因,您的代码片段无法正常工作。其一,存在语法错误。此外,当您通过 $(this).css('width') 检索元素的宽度时,会包含 px 单位。您必须解析字符串 parseInt($(this).css('width'), 10) 才能检查它是否大于 0。您可以使用 $(this).width() 检索宽度,而不是这样做,然后就没有必要了。

关于javascript - jQuery 检查 CSS 宽度是否大于 0 然后添加 CSS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130975/

相关文章:

jquery - jQuery 的多个动画

javascript - 如何多次添加/删除类?

HTML - 列忽略高度

javascript - 如何在 jQuery/Javascript 中固定/取消固定下拉菜单?

javascript - 仅打印选定的元素/页面

jquery - 如何以较小的延迟淡化菜单?

html - CSS,为动画定义多个类标签属性

javascript - 删除 JavaScript 中的 HTML 元素以避免内存泄漏

Javascript - 获取元关键字和如果非则不破坏书签

javascript - 按日期对对象数组进行排序