jQuery-версия YAHOO.lang (isUndefined, isNull, isString и т. д.) - PullRequest
4 голосов
/ 19 мая 2009

Кто-нибудь знает о плагине jQuery, у которого есть «помощники» или расширения, подобные тем, которые находятся в пространстве имен YAHOO.lang ?

Я имею в виду такие функции, как:

isNull
isDefined
isString
isFunction

Я также был бы признателен за то же самое для строк и массивов, таких как Contains, StartsWith (я знаю, что их легко написать, я просто ищу плагин, который охватывает их все).

Он находится не в пространстве имен YAHOO.lang, а также в форме связанных расширений, определяющих значение радиобокса (из отмеченного), тип элемента формы в понятном имени.

В частности плагин с плавным API, а не на основе селектора, например

$("input[@type=radio][@checked]")

Опять же, я знаю, что их легко реализовать, но я не хочу изобретать велосипед.

Ответы [ 3 ]

2 голосов
/ 19 мая 2009

jQuery 1.3.2 имеет встроенные isFunction и isArray (см. Фрагмент ниже). Код для isString является staightforward (typeof obj === "string"), как isNull (obj === null) и isDefined (obj !== undefined) - так что я бы просто закодировал это встроенное вместо использования функции.

// See test/unit/core.js for details concerning isFunction.
// Since version 1.3, DOM methods and functions like alert
// aren't supported. They return false on IE (#2968).
isFunction: function( obj ) {
    return toString.call(obj) === "[object Function]";
},

isArray: function( obj ) {
    return toString.call(obj) === "[object Array]";
},
1 голос
/ 05 апреля 2010

Underscore.js или _.js, если вы предпочитаете, это библиотека, которая содержит эти функции.

0 голосов
/ 21 мая 2009

Я решил написать два новых плагина самостоятельно. Вот два проекта:

Расширения формы

Пример:

// elementExists is also added
if ($("#someid").elementExists())
  alert("found it");

// Select box related
$("#mydropdown").isDropDownList();

// Can be any of the items from a list of radio boxes - it will use the name
$("#randomradioboxitem").isRadioBox("myvalue");
$("#radioboxitem").isSelected("myvalue");

Общие расширения

Они смоделированы на функциях Prototype / Mochikit, например isNull.

Пример:

$.isNumber(42);

var x;
$.isUndefined(x);
$.isNullOrUndefined(x);
$.isString(false);

$.emptyString("the quick brown fox");
$.startsWith("the quick brown fox","the");
$.formatString("Here is the {0} and {2}","first","second");

Оба имеют более 50 модульных тестов, которые являются частью загрузки. Надеюсь, они будут полезны людям, которые найдут эту страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...