TOC

This article has been localized into Russian by the community.

Манипуляции с DOM:

Получение и изменение атрибутов [attr()]

В предыдущей главе мы увидели как легко оказалось получать и задавать текстовый и HTML-контент элемента. К счастью, изменять один или несколько атрибутов элемента так же легко. Мы воспользуемся методом attr(), самый простой вариант которого принимает всего один параметр - имя атрибута, который мы хотим получить:

<a href="http://www.google.com" id="aGoogle1">Google Link</a>
<script type="text/javascript">
$(function()
{
	alert($("#aGoogle1").attr("href"));
});
</script>

В этом примере мы получаем значение атрибута "href" для нашей ссылки и затем показываем его пользователю. Чтобы изменить атрибут, нам потребуется еще один параметр:

<a href="http://www.google.com" id="aGoogle2">Google Link</a>
<script type="text/javascript">
$(function()
{
	$("#aGoogle2").attr("href", "http://www.google.co.uk");
});
</script>

Это изменит ссылку так, чтобы она вела на Британскую версию Google. Метод attr() может также получать набор пар имя-значение (map), чтобы изменить несколько атрибутов зараз. Здесь мы одновременно меняем атрибуты href и title:

<a href="http://www.google.com" id="aGoogle3">Google Link</a>
<script type="text/javascript">
$(function()
{
	$("#aGoogle3").attr(
	{ 
		"href" : "http://www.google.co.uk", 
		"title" : "Google.co.uk"
	});
});
</script>

Метод attr() также поддерживает специальную перегрузку, где параметр value является callback-функцией, что позволяет получить доступ не только к текущему значению, но и к индексу элемента. Ниже представлен пример.

<a href="http://www.google.com/" class="google">Google.com</a><br />
<a href="http://www.google.co.uk/" class="google">Google UK</a><br />
<a href="http://www.google.de/" class="google">Google DE</a><br />

<script type="text/javascript">
$(function()
{
	$("a.google").attr("href", function(index, oldValue)
	{
		return oldValue + "imghp?tab=wi";
	});
});
</script>

Мы просто меняем ссылки на Google так, чтобы они вели на страницу поиска изображений, вместо главной страницы, добавив дополнительный параметр к атрибуту href. В этом примере мы не использовали параметр index, но мы могли бы, если бы нам потребовалось знать с каким именно по номеру элементом мы имеем дело.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!