如何从选择器中删除元素

时间:2016-08-01 08:54:42

标签: javascript jquery

我努力让一段代码工作,但我不是一个jquery家伙,所以请耐心等待。

I have an outer DIV ($scope)。它包含各种输入。

我找到每种输入类型的所有条目并过滤它们以获得具有值的输入。这些存储在$ entries中。

$inputs contains all the inputs regardless of type or status.

我试图做的是remove $entries from $inputs以消除差异。

它不起作用,而且此刻我没有收到任何错误,所以没有任何事情可以继续。

我的第一个想法是,jquery无法将一个列表中的元素与另一个列表中的元素匹配,因为它只包含索引,而不是实际对象。这可能完全错误(请参阅第1行)。

无论哪种方式,我都需要找到一种方法来获取所有元素并将它们分成2位 - 具有值和没有值的那些。

所有帮助表示赞赏。

    function inputLoaded(isPostback) {
            if (typeof Page_Validators !== "undefined") {

$scope = $(".active-step:first");
                $inputs = $scope.find(inputs);
            $cb = $scope.find(checkboxes).filter(":checked");
            $rb = $scope.find(radios).filter(":checked");
            $sb = $scope.find(selects).filter(function () { return $(this).val() !== "None"; });
            $ta = $scope.find(textareas).filter(function () { return $(this).val(); });
            $tb = $scope.find(textboxes).filter(function () { return $(this).val(); });
            $entries = $cb.add($rb).add($sb).add($ta).add($tb);

            // Do things with $entries here

            // Get elements that have not got entries
            $el = $inputs.remove($entries);

        }
    }

1 个答案:

答案 0 :(得分:-1)

not()方法可以使用一个jQuery对象,其内容将从您应用它的jQuery对象中排除。它看起来与您正在寻找的完全一样:

// Get elements, excluding entries.
$el = $input.not($entries);