В jQuery есть способ сохранить часто используемые цепочки функций для последующего обращения к ним, чтобы поддерживать стиль кодирования DRY ?
Например, в следующем коде я хотел бысослаться на цепочку .closest('.row').closest('div').remove();
:
$('#search-results .row .unsafe').closest('.row').closest('div').remove();
$('#search-results .warnings').closest('.row').closest('div').remove();
$('#search-results .textresults1:contains("Endpoint offline!")').closest('.row').closest('div').remove();
// lots more distinct selectors
Примерно так:
var bye = ".closest('.row').closest('div').remove()";
$('#search-results .row .unsafe').bye();
$('#search-results .warnings').bye();
$('#search-results .textresults1:contains("Endpoint offline!")').bye();
// more...
Мой вопрос касается только повторного использования цепочек функций таким образом - т.е. есть ли способ выполнения в jQueryцепочка функций хранится в виде строки в переменной.Я ценю, что любой пример кода может быть переписан, чтобы избежать необходимости в этом, но это другой вопрос.Я думаю, что может быть довольно много вариантов использования для хранения часто используемых цепочек функций, таких как это - например, для сложных стилей / анимационных процедур, возможно.
[Я знаю, что первый селектор может быть изменен, чтобы охватитьвсе последующие, но это сделано таким образом для производительности.#search-results
содержит десятки тысяч <div>
, каждый с дюжиной элементов внутри.Таким образом, нечеткие поиски выполняются последними (т. Е. Произвольное совпадение текста с :contains
) после того, как предыдущие селекторы уже убили несколько тысяч строк.Кроме того, этот конкретный код взят из пользовательского сценария Greasemonkey, который я пишу, поэтому у меня нет возможности удалять эти ложные результаты прямо из источника, на стороне сервера - это не мой сервер / веб-сайт]