Ошибка при выполнении DOM-методов для объектов Sizzle

Я даю Sizzle попробовать (без jQuery) для выбора DOM. Я смешиваю выбор Sizzle с родным JS для создания некоторых анимационных функций. Я сталкиваюсь с ошибками при выполнении DOM-методов для объектов Sizzle. Например:

Sizzle('#masthead-copy').appendChild(foo);

Результаты: Object has no method 'appendChild'. Но следующие работы:

document.getElementById('masthead-copy').appendChild(foo);

То же самое происходит по сходным методам:

Sizzle('#masthead-images').getElementsByTagName('foo');

Но следующие работы:

document.getElementById('masthead-images').getElementsByTagName('foo');

Кажется, Sizzle возвращает массив во всех выборках (даже на ids), что может объяснить проблему здесь. Есть ли общий обходной путь для этого?

1 ответ

Как указано в комментариях, Sizzle возвращает массив во всех выборках, поэтому для выбора идентификаторов с Sizzle требуется ссылка на первый (только) элемент в результирующем массиве:

Sizzle('#masthead-copy')[0].appendChild(foo);

licensed under cc by-sa 3.0 with attribution.