Справка по фильтру jQuery - PullRequest
       19

Справка по фильтру jQuery

1 голос
/ 18 декабря 2009

Что не так с этим кодом ...

var objects = $(".validated").filter(function(){
                                   return $(this).attr("name") == 'name';
                             }).filter(function (){
                                   return $(this).val() == '';
                             });

Это действительно меня беспокоит: (

Ответы [ 2 ]

2 голосов
/ 19 декабря 2009
var objects = $(".validated").filter(function() {
    var ele = $(this);
    return ele.attr("name") == 'name' || ele.val() == '';
});
0 голосов
/ 18 декабря 2009

Фильтр удалит элемент, когда функция вернет false. Таким образом, вы хотите, чтобы он возвращал false, когда вы встречаете элемент с name = "name" и когда он пуст.

var objects = $(".validated").filter(function(){
                                   // Will return false when name="name"
                                   return $(this).attr("name") != 'name';
                             }).filter(function (){
                                   // Will return false when the value is blank
                                   // Added trim to ensure that blank spaces
                                   // are interpreted as a blank value
                                   return $.trim($(this).val()) != '';
                             });

Сокращенная версия будет:

var objects = $(".validated").filter(function(){
                  // Will return false when name="name" or blank value
                  return $(this).attr("name") != 'name' && $.trim($(this).val()) != '';
              });
...