如何使用JQuery仅选择没有显示的字段:无CSS属性?

时间:2018-11-25 23:49:15

标签: jquery

嗨,我正在尝试仅选择CSS属性未显示的字段:“无”。 请看一下代码,让我知道我做错了什么?

function(controlId){             var returnValidFlag = true;

        //var requiredClass = $this.find('.required');
        //console.log(requiredClass);

        $('.required:not([display=none])').each(function () {
            // Get 'this' HTML object's ID
            var thisInputID = $(this).attr('id');

            // Get 'this' error message 
            var thisErrorMessageID = thisInputID + 'ErrorMessage';
            // console.log('Error ID: ' + thisErrorMessageID);

            // Get the user input value
            var thisInputValue = $(this).val();
            console.log('Input ID: ' + thisInputValue + " " + thisErrorMessageID);

            if (thisInputValue =='') {
                returnValidFlag = false;
                $('#' + thisErrorMessageID).show();
            } else {
                returnValidFlag = true;
                $('#' + thisErrorMessageID).hide();
            }
        });

        return returnValidFlag;
    }

2 个答案:

答案 0 :(得分:1)

您可以使用:visible selector

display不是元素属性的一部分,它是样式属性

$('.required:visible)').each(...

答案 1 :(得分:0)

在jQuery中,您可以使用 filter

$('div').filter((index, node) => $(node).css('display') !== 'none')