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

时间:2015-03-18 19:24:33

标签: 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>

class元素的默认宽度为0:

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

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

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

2 个答案:

答案 0 :(得分:3)

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

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()检索宽度,而不是这样做,然后就没有必要了。

答案 1 :(得分:0)

Yuu有一些语法错误。没有if关键字,也没有关闭大括号。 见下文。

$(".neo-P4EMilestonesMilestone").each(function () {
    if ($(this).width() != 0) {
        $(this).css({
            'display': 'block',
                'width': '10 % '
        });
    }
});