Стандарт ECMAScript не определяет методов для поиска элементов по имени класса. Поэтому для этой цели можно использовать следующую функцию:

/**
 * name - имя класса
 * type - имя тэга - поиск только в определенных тэгах
 */
function getClass(name,type) {
	var r = [];
	var re = new RegExp("(^| )" + name + "( |$)");

	var e = document.getElementsByTagName(type || "*");
	for ( var i = 0, len = e.length; i < len; i++ )
		if ( re.test(e[i].className) ) r.push( e[i] );

	return r;
}

// ********
// Примеры
var els = getClass("test");
var list = getClass("test", "li");

// результат функции - массив, поэтому можно использовать shift(), push(), pop() и т.д.
var firstFound = shift(list);

Для ускорения работы функции, всегда указывайте тип (type) элементов, в которых производится поиск.

Добавить в закладки:

Оставить комментарий