jQuery эквивалент Ruby любой? - PullRequest
       4

jQuery эквивалент Ruby любой?

1 голос
/ 13 октября 2011

Так что я ищу краткий способ определить, есть ли у массива объектов, возвращаемых из селектора, текст.

Мои настройки здесь довольно простые, у меня есть таблица, и я хотел бы определить, есть ли в указанном столбце данные на самом деле. Сначала я думал, что метод .is () будет моим ответом, но я просто не мог заставить его вернуть ничего, кроме false:

$('.draft-date').is(function() { return ($(this).text() === ""); }); // <-- return false

$('.draft-date').is(function() { return ($(this).text() != ""); }); // <-- return false, but based on test data should return true

Теперь, я неправильно понимаю метод .is ()? Мой код не работает?

У меня есть работа с использованием .map и .inArray ():

$.inArray(true, $.map($('.draft-date'), function(n, i) { return ($(n).text() != "");} ))

Но мне, честно говоря, это не очень нравится. Это плохо.

Помоги мне украсить мой сад StackOverflow.

1 Ответ

2 голосов
/ 13 октября 2011

Что ж, самое простое решение - использовать метод text для всего выбора, поскольку он возвращает текстовые данные всех элементов.

if ($('.draft-date').text() === '') {
    // all elements have no text
}

Если какой-либо элемент имеет текст, этот текст будет возвращен.

Это потому, что is будет работать только с первым элементом в наборе элементов. Иначе как бы он узнал, какой результат вы хотели бы получить?

...