Pro jQuery

Pro jQuery

Адам Фриман

Создание новой выборки из имеющейся при помощи метода 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.

или RSS канал: Что новенького на smarly.net