Я знаю, что быстрее выполнить следующее:
var $header = $("#header");
$header.css({color:"#ff0000"});
$header.find("a").addClass("foo");
Вместо:
$("#header").css({color:"#ff0000"});
$("#header a").addClass("foo");
Поскольку jQuery не нуждается в поиске элементов в DOM, поскольку мы имеем прямую ссылку на них.
Скажем, что у меня есть это:
var $header_elements = $("#header li");
var $footer_elements = $("#footer li");
И я использую оба отдельно для нескольких манипуляций jQuery. Но тогда мне нужно что-то сделать на обоих. Используя селектор, я бы сделал следующее:
$("#header li, #footer li").css({color:"#ff0000"});
Но затем DOM нужно снова проанализировать, чтобы найти соответствующие элементы. Есть ли способ использовать мои ранее объявленные переменные вместо нового селектора? Что-то вроде следующего (что работает не, я знаю, это дает представление о том, что я ищу):
$($header_elements + $footer_elements).css({color:"#ff0000"});
Я думаю, что селектор возвращает какой-то массив или объект. То, что я ищу, - способ объединить их. Кто-нибудь знает, возможно ли это и как это сделать?
Спасибо за вашу помощь!