Статья, в которой рассмотрим какие в jQuery имеются методы для работы с HTML-атрибутами элементов.
Содержание
- Что такое HTML-атрибуты?
- Методы jQuery для выполнения операций над HTML атрибутами
- Как получить значение атрибута в jQuery?
- Как изменить значение атрибута?
- Как в jQuery добавить новый атрибут к элементу?
- Как в jQuery удалить атрибут у элемента?
- Зачем использовать пользовательские атрибуты
- Задача jQuery добавить атрибут
- jQuery удалить атрибут
- Изменить значение атрибута
- Читайте также похожие статьи:
- .add >jQuery Object
- .has >boolean
- .removeClass()
- .removeClass(«class1 class2 . «)
- .removeClass(function(index, class))
- .toggle >:jQuery Object
- Что такое HTML-атрибуты?
- Методы jQuery для выполнения операций над HTML атрибутами
- Как получить значение атрибута в jQuery?
- Как изменить значение атрибута?
- Как в jQuery добавить новый атрибут к элементу?
- Как в jQuery удалить атрибут у элемента?
- Зачем использовать пользовательские атрибуты
- Задача jQuery добавить атрибут
- jQuery удалить атрибут
- Изменить значение атрибута
- Читайте также похожие статьи:
- .add >jQuery Object
- .has >boolean
- .removeClass()
- .removeClass(«class1 class2 . «)
- .removeClass(function(index, class))
- .toggle >:jQuery Object
Что такое HTML-атрибуты?
HTML-атрибуты — это такие сущности, которые используются для установления различных характеристик HTML элементу. Они задаются внутри открытого тега элемента.
Кроме HTML-атрибутов у нас есть ещё DOM-свойства. Это другие сущности, но связанные с HTML-атрибутами.
Чтобы понять как они связаны, нужно знать, что такое DOM.
DOM — это объектная модель документа, которую строит браузер, в соответствии с HTML-страницей, которую мы запросили, например, введя её URL в адресную строку. В DOM теги становятся объектами (узлами), а HTML-атрибуты — свойствами этих узлов.
Браузер при изменении DOM изменяет HTML-код, и наоборот, при изменении HTML-кода изменяет DOM. При этом синхронизация HTML-атрибутов и соответствующих им DOM-свойств не всегда осуществляется один к одному. Как это происходит можно прочитать в статье «Работа с HTML атрибутами и DOM свойствами»
При этом более предпочтительно выполнять операции не с HTML-атрибутами, а с соответствующими им DOM-свойствами. Для этого в jQuery имеется специальный для этого случая метод prop. Выполнять же операции с атрибутами следует, когда вам это действительно нужно выполнить через HTML.
Методы jQuery для выполнения операций над HTML атрибутами
В jQuery для выполнения действий над HTML-атрибутами имеется два метода .
Первый метод – это attr . Он используется, когда вам нужно, узнать значение требуемого атрибута, добавить к нему новый HTML-атрибут или изменить текущее значение некоторого атрибута на новое.
Второй метод – это removeAttr . Данный метод применяется для удаления определённого атрибута у элемента или набора элементов.
Разберём, как работать с данными методами более подробно.
Как получить значение атрибута в jQuery?
Получить в jQuery значение необходимого атрибута осуществляется с помощью метода prop .
Пример, в котором получим значение атрибута href у элемента #search :
Если вы применили метод attr к набору элементов, то в этом случае он вернёт значение атрибута только для первого элемента этого набора .
Для того чтобы получить значение у каждого элемента набора можно воспользоваться jQuery-методом each или map .
Метод attr возвращает undefined когда вы попытаетесь получить значение атрибута, которого у него нет.
Это можно использовать для проверки наличия определённого атрибута у элемента.
Например, проверим имеется ли атрибут title у элемента #image-logo» :
Как изменить значение атрибута?
Изменение значения атрибута осуществляется тоже с помощью метода attr . Для этого используется следующий синтаксис:
Пример, котором поменяем значение атрибута src у элемента #logo :
Как в jQuery добавить новый атрибут к элементу?
В jQuery, да также, как и в JavaScript, нет различия в операциях, когда мы хотим изменить значение атрибуту или установить новый атрибут.
Пример, в котором всем ссылкам на странице установим атрибут rel со значением nofollow :
Пример, в котором добавим ко всем li , находящихся в списке #list атрибут data-index , которое будет иметь значение в соответсвии с их порядковвым номером:
Если функция ничего не вернула или возвратила undefined , то текущее значение атрибута не будет изменено (оно останется прежним). Данную особенность полезно использовать, когда значение атрибута необходимо установить только в зависимости от некоторых условий.
Как в jQuery удалить атрибут у элемента?
В jQuery удаление атрибута обычно осуществляется с помощью метода removeAttr .
Синтаксис метода removeAttr :
Например, удалим атрибут rel у всех ссылок на странице:
В jQuery удалить атрибут также можно с помощью метода attr . В этом случае ему нужно в качестве значения установить значение null .
Здравствуйте, уважаемые читатель блога LifeExample, хочу пополнить рубрику «jQuery & JavaScript примеры», новой статьей о том как в jQuery добавить атрибут для элемента верстки.
Элементом верстки можно считать любой тег в HTML коде страницы, это может быть
Например, тег по стандартам может содержать такие атрибуты как:
Но ничего не мешает нам использовать собственные атрибуты, например, так:
В этом примере пользовательский атрибут resolution будет содержать настоящее разрешение картинки.
Зачем использовать пользовательские атрибуты
Вопрос о том, как с помощью jQuery добавить атрибут, чаще всего может возникнуть при построении динамических интерфейсов для веб проектов.
Программируя на JavaScript, нам часто приходится работать с атрибутами элементов, совершая те или иные действия в зависимости от их значений. В определенных случаях нам может быть не достаточно стандартного набора атрибутов и тогда с помощью библиотеки jQuery, добавить атрибут можно очень быстро и удобно, но об этом чуть позже.
Предлагаю поставить задачу, которая бы показывала необходимость добавления атрибута и работы с ним.
Задача jQuery добавить атрибут
Дано:
- Три див блока с заданными >
- При нажатии на каждый из блоков вывести код цвета в формате RGB
- С помощью jQuery добавить атрибут;
- С помощью jQuery удалить атрибут;
- С помощью jQuery изменить атрибут;
div id = «header» >
Красный
/ div >
div id = «content» >
Зеленый
/ div >
div id = «footer» >
Синий
/ div >
Требуется:
Решение:
На самом деле решений много, но в рамках данной темы нам надо с помощью jQuery добавить атрибуты для наших блоков. Поэтому решением будет являться вот этот JS код:
Данными строчками кода мы добавим к имеющимся блокам новые атрибуты rgbcolor, которые будут содержать информацию о цвете. Можно каждому блоку добавить атрибут прям в HTML вот так:
div id = «header» rgbcolor = «255,0,0» >
Красный
/ div >
div id = «content» rgbcolor = «0,255,0» >
Зеленый
/ div >
div id = «footer» rgbcolor = «0,0,255» >
Синий
/ div >
В любой момент мы можем С помощью jQuery удалить атрибут, также быстро как и создали его.
jQuery удалить атрибут
Удаление происходит также просто, как и добавление. Опираясь на предыдущее задание, удалить пользовательские атрибуты rgbcolor можно всего одной строкой
Ну, или если нужно удалить атрибут только для одного блока content, то так:
Изменить значение атрибута
Библиотека jQuery, позволяет манипулировать атрибутами, так как нам хочется, я уже привел пример как с помощью jQuery добавить атрибут, и как его удалить. Но часто приходится еще и менять значения в ходе выполнения скрипта.
Чтобы поменять значение атрибута у элемента нам надо воспользоваться уже знакомой функцией attr .
Подобно тому, как мы задавали атрибут и его значение, также следует сделать если мы захотим его изменить
На этом пример работы атрибутами предлагаю завершить, поскольку все, что можно с ними сделать мы уже рассмотрели.
Теперь мы можем:
Читайте также похожие статьи:
Чтобы не пропустить публикацию следующей статьи подписывайтесь на рассылку по E-mail или RSS ленту блога.
Добавляет классы clName1, clName2, . всем выбранным элементам.
Если из этих элементов некоторые уже принадлежат каким-то классам, то новый (новые) класс добавится к существующим, а не заменит их.
.add >jQuery Object
Добавляет классы, список которых возвращает заданная пользователем функция.
Возвращаемое ей значение должно представлять из себя строку, с перечислением добавляемых классов через пробел.
Функция вызывается отдельно для каждого из выбранных элементов.
При вызове ей передаются следующие параметры:
index — позиция элемента в наборе,
>
.has >boolean
Проверяет наличие класса className у выбранных элементов страницы.
Если хотя бы один из элементов содержит этот класс, то функция вернет true, иначе вернет false.
В примере мы ищем класс с именем selected в разных наборах элементов.
.removeClass()
.removeClass(«class1 class2 . «)
.removeClass(function(index, class))
.toggle >:jQuery Object
Добавляет указанный класс к элементам набора, если такой класс не существует и удаляет этот класс, если он присутствует.
В нашем примере мы переключаем (добавляем/удаляем) класс с именем ‘highlight’ для параграфа на котором был сделал клик.
Источник: