Показать сообщение отдельно
  #3 (permalink)  
Старый 11.07.2010, 14:57
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от B~Vladi
Я пробовал так:
var arr = Array.prototype.slice.call(document.getElementsByTagName('*'));
Сообщение от B~Vladi
Осел такие трюки не понимает.
IE9 теперь умеет так делать.

Сообщение от B~Vladi
Как его проучить?
// Преобразует NodeList в Array
// Реализация только для Standards Compliant Mode
if (!Array.toArray) {
	try {

		// IE9 и все остальные браузеры поддерживают преобразование NodeList в массив при помощи slice.
		Array.prototype.slice.call(document.childNodes); // IE6–8 здесь выбросят исключение.
		Array.toArray = function (slice) {
			return function (anything) {
				return slice.call(anything);
			};
		}(Array.prototype.slice);

	} catch (error) {

		Array.toArray = function (anything) {
			var length = anything.length, i = -1, array = [];
			if (length) {
				while (++i < length) {
					array[i] = anything[i];
				}
			}
			return array;
		};

	}
}

Последний раз редактировалось Octane, 11.07.2010 в 15:08.
Ответить с цитированием