Бібліотека jQuery надає можливість встановити або змінити значення атрибутів двома способами. Для установки і зміна значення атрибутів використовується метод .attr (). Ми вже про це методі говорили - крім установки або зміна, за допомогою цього методу ми можемо отримати значення атрибута.
Синтаксис методу .attr () для установки / зміна значення
Чи стане куди цікавіше, коли параметр value буде вбудованою функцією або посиланням на функцію. У таких випадках функція викликається для кожного витягнутого елемента з повертається значенням функції, які у ролі значення атрибута. Коли викликається функція, їй передається два параметри. Один з них містить відлічуваний від нуля індекс елемента в наборі, а інший - поточне значення атрибута з ім'ям елемента. Крім того, елемент встановлюється в якості контексту функції (this) для її виклику. Це дозволяє функції налаштувати свою обробку для кожного конкретного елемента - головна перевага використання її таким чином.
Приклад використання в якості значення методу .attr () функцію:
За допомогою цього методу ми знаходимося на сторінці все HTML елементи, які мають атрибут title, і міняємо атрибут кожного елемента. Зміна відбувається шляхом додавання до наявного значенням рядка, складеної з використанням індексу елемента в DOM і ідентифікатора атрибута кожного конкретного елемента, якщо такий є, або в іншому випадку - рядки 'unset' (дозволяє скинути всі налаштування).
Другий варіант застосування методу .attr () - це установки / зміна значення декількох атрибутів за раз.
Синтаксис методу, який може змінити значень декількох атрибутів відразу
- attr (attributes)
- Використовує властивості і значення, зазначені переданим об'єктом, для установки відповідних атрибутів на всіх елементах відповідного набору.
- параметри
- name - (Рядок) Ім'я атрибута, який повинен бути встановлений.
- attributes - Об'єкт, властивості якого копіюються як атрибути до всіх елементів в наборі.
- повертає
- Колекцію jQuery.
За допомогою даного варіанту використання методу attr () можна дуже швидко змінити або встановити значення декількох атрибутів по всіх елементах набору. Метод приймає один параметр і це повинен бути об'єктом. Властивості об'єкта - це імена тих атрибутів, з якими хочемо працювати.
Давайте розберемо приклад вище. Ми знаходимося на сторінці всі елементи input і змінюємо атрибути value, placeholder і title всіх знайдених елементів, якщо вони є, а якщо немає, то додаємо.
Зміна атрибута type елементу input або button, які створені через метод document.createElement (), призводить до виключення в браузері Internet Explorer 6 - 8.