Главная страница   /   6.3. Создание новой выборки из имеющейся при помощи метода map (Pro jQuery

Pro jQuery

Pro jQuery

Адам Фриман

6.3. Создание новой выборки из имеющейся при помощи метода map

Метод map дает широкие возможности для использования объекта jQuery как средства для создания другого объекта. В метод map добавляется функция. Эта функция вызывается для каждого элемента в исходном объекте jQuery, а HTMLElement объекты, которые возвращаются данной функцией, включаются в получившийся объект jQuery. В листинге 6-7 показано использование метода map.

Листинг 6-7: Использование метода map
...
<script type="text/javascript">
	$(document).ready(function () {
		$('div.dcell').map(function (index, elem) {
			return elem.getElementsByTagName("img")[0];
		}).css("border", "thick solid red");

		$('div.dcell').map(function (index, elem) {
			return $(elem).children()[1];
		}).css("border", "thick solid blue");
	});
</script>
...

В этом листинге я два раза применял метод map. Первый раз используется DOM API, тут возвращается первый элемент img, содержащийся в каждом элементе; а во второй раз используется jQuery, а именно, возвращается первый элемент в объекте jQuery, возвращенный "дочерним" методом. (Более подробно я расскажу об этом дальше в этой главе, но по названию видно, что он возвращает дочерние узлы каждого элемента в объекте jQuery).

Совет

Можно вернуть только один элемент за каждый вызов функции. Если вы хотите получить несколько итоговых элементов для каждого исходного элемента, нужно совместить методы each и add, о чем написано в главе 8.