Личный кабинет        17.07.2019   

Атрибуты HTML-тегов. Как установить или изменить значение атрибута с помощью jQuery

Последнее обновление: 1.11.2015

В предыдущей главе мы узнали, как получить элементы, используя селекторы и различные методы, как детализировать выборку, оставив в ней только нужные элементы. Однако сама по себе выборка была бы не важна, если бы jQuery не поддерживала манипуляции над выбранными элементами. Поэтому посмотрим, какие манипуляции с элементами мы можем производить с помощью jQuery.

Атрибуты и свойства элементов

Библиотека jQuery предлагает нам инструментарий для манипуляции свойствами и атрибутами элементов. Но прежде чем переходить к непосредственным методам jQuery, надо отметить, чем отличаются свойства и атрибуты.

Атрибуты - это элементы разметки элементов, такие как id, style, class и ряд других. Свойства же представляют элементы объектов javascript.

Несмотря на такое различие, между свойствами и атрибутами имеет сопоставление. Так, атрибут id будет соответствовать свойству id. Например, у нас есть ссылка:

То есть на консоль выведет значение атрибута id. В то же время не все для всех атрибутов есть одноименные классы. Так, атрибуту class соответствует свойство className .

Изменение свойств

Для работы со свойствами в jQuery имеется метод prop() . Чтобы получить значения свойства, нам надо передать в этот метод имя свойства. Например, так мы можем получить все адреса ссылок на странице:

$("a").each(function(index,elem){ console.log($(elem).prop("href")); });

Чтобы изменить значение свойства, надо просто передать в качестве второго параметра новое значение:

$("a").first().prop("href","33.html");

Удаление свойств

Для удаления свойств мы можем использовать метод removeProp("имя_свойства") :

$("a").first().removeProp("href");

После этого свойству будет присвоено новое значение: undefined , которое будет указывать, свойство не определено.

Работа с атрибутами

Работа с атрибутами во многом похожа на работу со свойствами. Так, чтобы получить значение атрибута элемента, нам надо использовать метод attr("имя_атрибута") :

$("a").each(function(index,elem){ console.log($(elem).attr("href")); });

Действие данного метода аналогично тому, что приводилось для метода prop: вывод на консоль всех адресов ссылок.

А передавая в качестве второго параметра в метод attr некоторое значение, можно установить новое значение атрибута:

$("a").first().attr("href","33.html");

И также для удаления значений атрибутов мы модем использовать метод removeAttr("имя_атрибута") :

$("a").first().removeAttr("href");

Обратите внимание, если в случае с удалением свойства через метод removeProp соответствующий свойству атрибут оставался, только ему присваивалось значение свойства, то есть undefined, то при удалении атрибута через removeAttr атрибут удаляется из разметки элемента.

Пользовательские атрибуты html5

В HTML5 была введена такая функциональность, как пользовательские атрибуты. Их суть в том, что мы можем применить к элементу дополнительные атрибуты, которые будут хранить некоторое дополнительное значение. Подобные атрибуты начинаются с префикса data- , после которого идет собственно название атрибута и его значение. Например, в следующем примере я добавляю атрибут data-year, который будет хранить год:

  • Java
  • C/C++

Для работы с подобными атрибутами используется метод data . Он имеет следующие варианты использования:

    data("имя атрибута") : получает значение атрибута первого элемента набора. В качестве параметра передается имя атрибута без префикса data-

    Так, мы можем получить значение атрибута из предыдущего примера следующим образом:

    Console.log($("ul").data("year"));

    data() : возвращает объект javascript, который содержит набор атрибутов и их значений в виде пар ключ-значение.

    Например, пусть у нас будет элемент с двумя атрибутами:

      Тогда метод data() вернул бы объект {description:"lang", year:"2010"} . И чтобы получить значение отдельного атрибута, можно написать так:

      Console.log($("ul").data().year);

      data("атрибут", "новое значение") : устанавливает в качестве значения атрибута строку, переданную в качестве второго параметра:

      $("ul").first().data("year", "2012");

      В качестве нового значения может выступать и целых объект javascript, а данный атрибут будет содержать в качестве значения весь этот объект:

      $("ul").first().data("lang", { rate: "tiobe", year: 2012 });

    Если же мы захотим удалить атрибут, то для этого нужно применить метод removeData("название_атрибута") .

    Можно получить и установить значения атрибутов для элементов в объекте jQuery . В представлены методы для работы с атрибутами.

    Таблица 8-2: Методы для работы с атрибутами
    Метод Описание
    attr(name) Получает значение атрибута с указанным именем для первого элемента в объекте jQuery
    attr(name, value) Устанавливает указанное значение атрибута с указанным именем для всех элементов в объекте jQuery
    attr(map) Устанавливает атрибуты, указанные в карте (объекте), для всех элементов в объекте jQuery
    attr(name, function) Устанавливает указанный атрибут для всех элементов в объекте jQuery с использованием функции
    removeAttr(name)
    removeAttr(name)
    Удаляет атрибуты из всех элементов в объекте jQuery
    prop(name) Возвращает значение указанного свойства для первого элемента в объекте jQuery
    prop(name, value)
    prop(map)
    Устанавливает значение одного или более свойств для всех элементов в объекте jQuery
    prop(name, function) Устанавливает значение указанного свойства для всех элементом в объекте jQuery с использованием функции
    removeProp(name) Удаляет указанное свойство из всех элементов в объекте jQuery

    Когда метод attr вызывается с одним аргументом, jQuery возвращает значение указанного атрибута для первого элемента в выборке. В содержится пример.

    Листинг 8-1: Чтение значения атрибута Example var srcValue = $("img").attr("src"); console.log("Attribute value: " + srcValue); }); Jacqui"s Flower Shop Astor: Daffodil: Rose: Peony: Primula: Snowdrop: Place Order

    В этом скрипте я выбрал все элементы img в документе, а затем использовал метод attr , чтобы получить значение атрибута src . Результатом метода attr при получении значения атрибута является строка, которую я вывел на консоль. Вот результат выполнения этого скрипта:

    Attribute value: astor.png

    Можно объединить методы each и attr , чтобы получить значение атрибута для всех элементов в объекте jQuery . Я описывал метод each в главе 5 , а в показано, как можно использовать его в данной ситуации.

    Листинг 8-2: Использование методов each и attr для получения значения атрибута нескольких элементов $(document).ready(function () { $("img").each(function (index, elem) { var srcValue = $(elem).attr("src"); console.log("Attribute value: " + srcValue); }); });

    В этом скрипте я передал объект HTMLElement в качестве аргумента функции, чтобы создать новый объект jQuery через $ функцию. Этот объект содержит только один элемент, который идеально подходит для метода attr . Результат работы скрипта следующий:

    Attribute value: astor.png Attribute value: daffodil.png Attribute value: rose.png Attribute value: peony.png Attribute value: primula.png Attribute value: snowdrop.png

    Установление значения атрибута

    Когда метод attr используется для установления значения атрибута, изменение применяется ко всем элементам в объекте jQuery . Это противоположно версии для чтения значения атрибута этого метода, который возвращает значение атрибута только одного элемента. При назначении атрибута метод attr возвращает jQuery объект, что означает, что можно использовать цепочку методов. В показано, как назначать атрибут.

    Листинг 8-3: Назначение атрибута $(document).ready(function () { $("img").attr("src", "lily.png"); });

    В этом скрипте я выбрал все элементы img и установил значение lily.png для src атрибута. Это значение применяется к атрибуту src для всех выбранных элементов. Результат можно увидеть на .

    Рисунок 8-1: Установление одинакового значения атрибута для нескольких элементов Назначение нескольких атрибутов

    Можно назначить несколько атрибутов за один вызов метода, если в метод attr добавить объект. Свойства этого объекта интерпретируются как имена атрибутов, а значения свойств – как значения атрибутов. Такие объекты называются картами. В представлен пример.

    Листинг 8-4: Назначение нескольких атрибутов используя map объект $(document).ready(function () { var attrValues = { src: "lily.png", style: "border: thick solid red" }; $("img").attr(attrValues); });

    В этом скрипте я создал объект-карту со свойствами src и style . В документе я выбрал элементы img и добавил объект-карту методу attr . Результат можно увидеть на .

    Совет

    Хотя в этом примере я в прямой форме назначил свойство style , в jQuery есть несколько методов, которые упрощают работу с CSS. Для информации смотрите раздел "Работа с CSS" далее в этой главе.

    Рисунок 8-2: Назначение нескольких атрибутов при помощи метода attr
    Динамическая установка значений атрибутов

    Значения, которые вы установили атрибуту, можно изменить, если добавить методу attr функцию. В показан пример.

    Листинг 8-5: Установка значения атрибута при помощи функции $(document).ready(function () { $("img").attr("src", function (index, oldVal) { if (oldVal.indexOf("rose") > -1) { return "lily.png"; } else if ($(this).closest("#row2").length > 0) { return "carnation.png"; } }); });

    Аргументы, переданные функции, – это индекс обрабатываемого элемента и старое значение атрибута. Переменная this указывает на обрабатываемый HTMLElement . Если вы хотите изменить атрибут, тогда ваша функция должна возвращать строку, содержащую новое значение. Если результат не возвращается, тогда используется существующее значение. В этом примере я использую функцию для выборочного изменения рисунков, представленных элементами img . Результат можно увидеть на .

    Рисунок 8-3: Изменение значений атрибутов при помощи функции
    Удаление атрибута

    Можно удалить атрибуты, используя метод removeAttr , как показано в .

    Листинг 8-6: Удаление значений атрибутов $(document).ready(function () { $("img").attr("style", "border: thick solid red"); $("img:odd").removeAttr("style"); });

    В этом примере я использую метод attr , чтобы установить атрибут style , а затем использую метод removeAttr , чтобы удалить этот же атрибут у нечетных элементов. Результат можно увидеть на .

    Рисунок 8-4: Удаление атрибутов из элементов
    Работа со свойствами

    Для каждого вида метода attr существует соответствующий метод prop . Разница состоит в том, что метод prop работает со свойствами, определяемыми HTMLElement объектом, а не со значениями атрибутов. Часто атрибуты и свойства одни и те же, но не всегда. Простой пример – это атрибут class , который представлен в объекте HTMLElement при помощи свойства className . В показано использование метода prop для прочтения этого свойства.

    Листинг 8-7: Использование метода prop для чтения значения свойства $(document).ready(function () { $("*").each(function (index, elem) { console.log("Element:" + elem.tagName + " " + $(elem).prop("className")); }); });

    В этом примере я выбираю все элементы, которые имеют атрибут class , и использую метод each , чтобы перечислить их. Для каждого элемента я вывел на консоль type и значение свойства className .

    Мы уже разобрались. Мы выяснили, что у них есть содержимое. Однако это ещё не всё. У тегов также есть атрибуты, которые расширяют их возможности, а у атрибутов, в свою очередь, есть значения. С их помощью элементу можно задавать параметры, определять стиль оформления. Например, тегом

    вы обозначили абзац. Но как сделать, чтобы он был выровнен по правому краю? Для этого понадобится определённый атрибут с соответствующим значением. Как некоторые теги не имеют пары, так и некоторые атрибуты могут употребляться без значений.

    Как писать атрибуты?

    Атрибуты - зарезервированные слова (как и теги, только без угловых скобок), значения же их могут быть разными. Так же, как и теги, атрибуты со значениями рекомендуется писать маленькими буквами, хотя браузерам, в общем-то, безразлично - это просто правило хорошего тона: по-русски ведь ТОЖЕ НЕ ПРИНЯТО ПИСАТЬ ПРИ ВКЛЮЧЕННОМ CAPS LOCK. А чем HTML хуже?

    Значения с атрибутами записываются в таком формате:

    Атрибут=”значение” lang=”en”

    Писать атрибуты всегда нужно внутри открывающего тега, после зарезервированного слова.

    Абзац

    Обычно для одного тега доступно несколько атрибутов. В каком порядке они будут перечислены, неважно.

    Универсальные атрибуты

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

    • accesskey позволяет задать сочетание клавиш для доступа к определённому объекту страницы. Например, вы можете сделать так, чтобы с помощью комбинации клавиш Alt+1 пользователь переходил по определённой ссылке. Таким образом разработать систему клавишной навигации.

    В качестве значения атрибута могут выступать цифры 0-9 или буквы латинского алфавита:

    Ссылка будет открываться по нажатию сочетания клавиш с единицей

    • class позволяет связать тег с заранее заданным с помощью CSS оформлением. Использование атрибута позволяет существенно уменьшить код, ведь вместо того, чтобы повторять ввод одного и того же блока CSS, можно просто ввести имя соответствующего ему класса.
    • С помощью contenteditable можно разрешить пользователю редактировать любой элемент HTML-страницы: удалять, вставлять, изменять текст. Этот же атрибут даёт возможность редактирование и запретить. Значения имеет всего два: true - правку разрешить, false - запретить.
    • При помощи атрибута contextmenu вы можете наделить любой элемент документа уникальными пунктами контекстного меню на своё усмотрение. Само меню создаётся в теге , а атрибуту contextmenu присваивается его идентификатор.
    • dir определяет направление текста: слева направо (ltr) или справа налево (rtl) .
    • draggable позволяет запретить (false) или разрешить (true) пользователю перетаскивать наделённый этим атрибутом элемент страницы.
    • dropzone указывает браузеру, что делать с перетаскиваемым элементом: копировать (значение copy ), перемещать (move ) или создать на него ссылку (link) .
    • hidden - атрибут, позволяющий скрыть содержимое элемента, чтобы оно не отображалось в браузере. Если атрибуту задано значение false, объект отображается, true - скрывается.
    • id задаёт идентификатор элемента - своего рода имя, которое нужно для простой смены стиля объекта, а также для того, чтобы к нему могли обращаться скрипты. Значением атрибута и будет его имя. Начинаться оно должно обязательно с латинской буквы, и может содержать цифры, буквы всё того же латинского алфавита (большие и маленькие), а также символы дефиса (-) и подчёркивания (_) . Русских букв содержать не может.
    • lang помогает браузеру понять, на каком языке написан контент, и задать ему соответствующий стиль (например, в языках могут использоваться разные кавычки). Значениями выступают коды языков (русский - ru , английский - en и т. п.).
    • spellcheck включает (true) или отключает (false) проверку правописания. Особенно полезно использовать атрибут в тегах полей форм, куда текст будет вводить пользователь.
    • style позволяет задать оформление элемента с помощью CSS-кода.
    • tabindex даёт возможность определить, сколько раз пользователю придётся нажать клавишу Tab, чтобы фокус получил объект с этим атрибутом. Количество нажатий определяет значение атрибута - целое положительное число.
    • title - всплывающая подсказка, которая появится, если подвести мышку к элементу и на некоторое время оставить её неподвижной. Строка в значении и будет подсказкой.
    • translate разрешает (yes) или запрещает (no) перевод содержимого тега.
    • align задаёт выравнивание элемента. Например, с его помощью можно выровнять текст по левому краю (значение left ), по правому краю (right ), по центру (center) или по ширине (justify) . Для изображений (тег ) также доступно выравнивание по верхней границе самого высокого элемента строки (top ), по нижней границе (bottom) , а значение middle делает так, что средняя линия картинки совпадает с базовой линией строки.

    Стоит иметь в виду, что использовать атрибут align не рекомендуется, а выравнивать текст лучше с помощью CSS.

    Пример использования атрибутов

    В качестве примера рассмотрим строку HTML-кода:

    Этот текст можно редактировать

    Вся строка создаёт абзац текста, который пользователь может в браузере самостоятельно изменять.

    Разберём каждый элемент строки.

    - открывающий тег контейнера, хранящего абзац.

    - закрывающий тег.

    Между символами > и < расположен текст Этот текст можно редактировать. Это - надпись вне тегов (между ними), а значит она будет видна открывшему страницу пользователю. Браузер воспринимает её как простой текст, который надо вывести на экран.

    contenteditable =”true ” - это и есть атрибут и его значение. Помните, как в школе: x=3. Так и здесь: contenteditable =”true ”. Атрибут contenteditable задаёт, сможет ли пользователь редактировать содержимое элемента, значение true , написанное в кавычках через знак равно, редактирование разрешает:

    Атрибут=”значение” contenteditable=”true”

    Сохраните эту страницу для тестирования приведенных ниже примеров.

    Библиотека jQuery позволяет получать и устанавливать значения атрибутов элементов, содержащихся в объекте jQuery. Методы jQuery, предназначенные для работы с атрибутами, описаны в таблице ниже:

    Методы для работы с атрибутами Метод Описание
    attr(имя) Возвращает значение атрибута с указанным именем для первого из элементов, содержащихся в объекте jQuery
    attr(имя, значение) Устанавливает значение атрибута с указанным именем для всех элементов, содержащихся в объекте jQuery
    attr(объект отображения) Устанавливает атрибуты, указанные в объекте отображения, для всех элементов, содержащихся в объекте jQuery
    attr(имя, функция) Устанавливает указанный атрибут для всех элементов, содержащихся в объекте jQuery, с помощью функции
    removeAttr(имя), removeAttr(имя) Удаляет атрибут (атрибуты) из всех элементов, содержащихся в объекте jQuery
    prop(имя) Возвращает значение указанного свойства для первого из элементов, содержащихся в объекте jQuery
    prop(имя, значение), prop(объект отображения) Устанавливает значение одного или нескольких свойств для всех элементов, содержащихся в объекте jQuery
    prop(имя, функция) Устанавливает значение указанного свойства для всех элементов, содержащихся в объекте jQuery, с использованием функции
    removeProp(имя) Удаляет указанное свойство из всех элементов, содержащихся в объекте jQuery

    Если метод attr() вызывается с одним аргументом, jQuery возвращает значение указанного атрибута для первого из элементов выбранного набора. Соответствующий пример приведен ниже:

    $(function() { var srcValue = $("img").attr("src"); console.log("Значение атрибута: " + srcValue); });

    В этом сценарии мы выбираем все элементы img в документе, а затем используем метод attr() для получения значения атрибута src, при считывании которого получаем строку. На консоль выводится следующий результат:

    Получение значения атрибута для всех элементов, содержащихся в объекте jQuery, обеспечивается совместным применением методов each() и attr():

    $(function() { var srcValue = $("img").each(function(index, element) { console.log("Значение атрибута src: " + $(this).attr("src")); }); });

    В этом сценарии из объекта HTMLElement, передаваемого функции в качестве аргумента, с помощью функции $() создается объект jQuery. Этот объект содержит единственный элемент, который идеально подходит для метода attr().

    Установка значений атрибутов

    Если метод attr() используется для установки значения атрибута, то изменение применяется ко всем элементам, содержащимся в объекте jQuery. Таким образом, в данном случае метод ведет себя иначе, чем при считывании атрибутов, когда возвращается лишь значение атрибута одного элемента. При установке атрибута метод attr() возвращает объект jQuery, что означает возможность использования цепочки вызовов.

    Пример сценария, выполняющего установку значения атрибута, приведен ниже:

    $(function() { $("img")..png"); });

    В этом сценарии выбираются все элементы img в документе, и для атрибута src устанавливается ссылка на картинку lily.png. Установленное значение применяется ко всем выбранным элементам, как показано на рисунке:

    Установка нескольких атрибутов

    Можно установить значения нескольких атрибутов одним вызовом метода attr(), передав ему в качестве аргумента объект. Свойства такого объекта интерпретируются как имена атрибутов, а значения свойств - как значения атрибута. Этот объект принято называть объектом отображения (map object) . Соответствующий пример приведен ниже:

    $(function() { var attrValues = { src: "http://сайт/downloads/jquery/lily.png", style: "border: thick solid red" }; $("img").attr(attrValues); });

    В этом сценарии создается объект, определяющий свойства с именами src и style. Далее в документе выбираются элементы img, и методу attr() передается объект отображения. Вид страницы в окне браузера приведен на рисунке:

    Динамическая установка значений атрибутов

    Назначаемые атрибутам значения можно определять во время выполнения сценария, передавая методу attr() функцию в качестве аргумента. Соответствующий пример приведен ниже:

    $(function() { $("img").attr("src", function(index, oldVal) { if (oldVal.indexOf("rose") >.png"; } else if ($(this).closest("#row2").length >.png"; } }); });

    Аргументы, передаваемые указанной функции, - это индекс обрабатываемого элемента в наборе и прежнее значение атрибута. Переменная this ссылается на текущий обрабатываемый объект HTMLElement. Если вы хотите изменить атрибут, то функция должна вернуть строку, содержащую новое значение. Если же результат не возвращается, то используется прежнее значение атрибута. В данном примере функция используется для избирательного изменения изображений, отображаемых элементами img.

    Удаление атрибутов

    Атрибуты можно удалять (отменять установку) с помощью метода removeAttr() , как показано в примере ниже.

    У каждого атрибута, за исключением логических, есть значение, которое относится к одному из следующих типов: ключевое слово, строка, адрес, число, проценты, код языка. Это не все типы, но самые распространённые.

    Ключевое слово

    У некоторых атрибутов есть зарезервированные значения, которые называются «ключевые слова». К примеру, значение атрибута type элемента определяет тип элемента формы. Ниже элемент создаёт кнопку.

    Ключевые слова подчиняются спецификации, список их значений ограничен и не может быть произвольно изменён.

    Строка

    Строка представляет собой текст, заключённый в двойные или одинарные кавычки.

    Кавычка определяет начало и конец строки, поэтому внутри строки нельзя дополнительно ставить такие же кавычки. К примеру, следующая строка использует неправильное сочетание кавычек.

    Здесь строка у атрибута title взята в одинарные кавычки, поэтому мы спокойно можем писать внутри двойную кавычку.

    Всё это аналогичным образом работает и для одинарных кавычек.

    Адрес

    Адресом называется путь к документу, например, к графическому файлу. Адрес необходим в тех случаях, когда делается ссылка на сайт, другую веб-страницу или загружается определённый файл. Например, в элементе адрес используется в качестве значения атрибута src , он задаёт путь к файлу с изображением.

    Различают абсолютные и относительные адреса.

    Абсолютные адреса

    Подобные адреса работают везде и всюду независимо от имени сайта или веб-страницы, где задан адрес и начинаются всегда с указания протокола передачи данных. Для веб-страниц это обычно HTTP (HyperText Transfer Protocol, протокол передачи гипертекста), соответственно, абсолютные адреса начинаются с ключевого слова http://. В примере 1 приведена ссылка, в которой применяется абсолютный адрес.

    Пример 1. Использование абсолютного адреса в ссылке

    Ссылка

    Google

    Кроме протокола HTTP существует и защищённый протокол HTTPS. Не всегда очевидно, какой протокол используется на сайте, поэтому в адресе ссылки его можно вообще опустить. Адрес в таком случае запишется так:

    Google

    Абсолютные адреса применяются в первую очередь для указания на другой сетевой ресурс и достаточно редко используются для внутренних ссылок.

    Относительные адреса

    Относительные адреса указываются от корня сайта или текущего документа. Например, код означает загрузить графический файл с именем pic.png, который располагается в той же папке, что и сама веб-страница. Далее рассмотрим несколько примеров таких адресов.

    /
    Адрес указывает обычно на файл index.html, который находится в корне сайта. Если файл index.html отсутствует, браузер, как правило, показывает список файлов, находящихся в данном каталоге. Имя файла не обязательно должно быть index.html, этот параметр меняется через настройки веб-сервера - так называется программа, которая анализирует приходящие от браузера запросы и передаёт ему документы, показываемые пользователю.

    /images/pic.png
    Черта (/) перед адресом говорит о том, что адресация начинается от корня сайта. Ссылка ведёт на файл pic.png, который располагается в папке images. А та в свою очередь размещена в корне сайта.

    ../help/me.html
    Две точки перед именем указывают браузеру перейти на уровень выше в списке папок сайта и там «поискать» в папке help файл с именем me.html.

    manual/info.html
    Если перед именем папки нет никаких дополнительных символов, вроде точек или черты, то папка размещена внутри текущей папки, а уже в ней находится файл info.html.

    Адреса относительно корня сайта вроде /demo/ работают только под управлением веб-сервера и на локальном компьютере не применимы.

    Ссылки

    Посмотрите на мою фотографию!

    Как сделать такое же фото?

    Иногда можно встретить адреса в виде./file/doc.html. Точка впереди означает, что отсчёт ведётся от текущей папки. Подобная запись избыточна и её можно сократить до file/doc.html.

    Числа

    Числа состоят из цифр от 0 до 9; для отрицательных чисел, если они необходимы, впереди ставится знак минус (-45). В примере 3 показано использование чисел в качестве значений атрибутов.

    Пример 3. Использование чисел

    Числа

    Температура воды

    Низкая Нормальная Горячая Кипяток

    Кроме целых чисел допустимо использовать десятичные дроби, при этом целая и дробная часть отделяются друг от друга точкой - 36.6, как показано в примере 4.

    Пример 4. Дробные числа

    input, атрибут max

    Укажите вашу температуру в градусах:

    Проценты

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

    Элемент располагается внутри

    Поэтому элемент

    Будет родителем для . Верно и обратное - элемент является дочерним по отношению к

    Соответственно, в данном случае ширина картинки в процентах считается от родительского абзаца, который по умолчанию занимает всё свободное пространство окна по ширине.

    Браузер понимает, что речь идёт именно о процентах, если после числа добавляется символ %, например: width="40%" .

    В примере 5 приведён код веб-страницы, в котором ширина картинки указывается в процентах.

    Пример 5. Размеры изображения в процентах

    Изображение

    Результат данного примера показан на рис. 1. Ширина изображения задана как 100%, поэтому занимает всю доступную ширину окна браузера. Высота при этом не указана и вычисляется браузером автоматически.

    Рис. 1. Размер картинки в процентах

    Плюсом процентной записи является то, что размеры картинки меняются вместе с шириной окна браузера, а не остаются статичными. К минусам можно отнести ухудшение качества картинки при её сильном растяжении.

    Код языка

    Мы живём в эпоху глобализации, когда на сайтах встречаются тексты на разных языках. Чтобы показать поисковым системам, на каком языке написан текст и задать свои настройки для разных языков (типы кавычек, к примеру) и указывается язык текста в виде кода. Для задания языка применяется атрибут lang (пример 6).

    Пример 6. Использование атрибута lang

    lang

    Фраза на французском

    Je n"ai pas mangé depuis six jours

    В данном примере для всей страницы указан русский язык с помощью атрибута lang со значением ru . Чтобы показать, что язык относится ко всей странице, атрибут добавлен к элементу . Для текста на французском атрибут lang со значением fr добавлен к элементу

    Допустимые значения атрибута lang вы можете посмотреть на этой странице.