Слияние объектов jQuery

Мне нравится использовать указатели на функцию по большому количеству причин. Для одного они - самая близкая вещь, которую я нашел в MATLAB к указателям, таким образом, можно создать подобное ссылке поведение для объектов. Существуют некоторые аккуратные (и более просты) вещи, которые можно сделать с ними, также. Например, замена оператора переключения:

switch number,
  case 1,
    outargs = fcn1(inargs);
  case 2,
    outargs = fcn2(inargs);
  ...
end
%
%can be turned into
%
fcnArray = {@fcn1, @fcn2, ...};
outargs = fcnArray{number}(inargs);

я просто думаю, что небольшие подобные вещи прохладны.

63
задан hippietrail 17 October 2012 в 10:16
поделиться

2 ответа

.add () делает именно то, что вам нужно.

h3.add(btn).hide();

Если вы хотите сделать его немного более удобным для себя, с помощью функции «слияния», как в вашем вопрос, это можно легко добавить:

$.merge = function(objs) {
    var ret = objs.shift();
    while (objs.length) {
        ret.add(objs.shift());
    }
    return ret;
};

$.merge([h3, btn]).hide()
21
ответ дан 24 November 2019 в 16:29
поделиться
$(btn).add(h3).hide();

Не уверен, что это работает, документация для добавления не упоминает наличие объекта jQuery в качестве параметра, а только список элементов, поэтому, если это не так это должно работать:

$(btn).add(h3.get()).hide();
5
ответ дан 24 November 2019 в 16:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: