JS властивість Attr.length
Загальний опис
length
є властивістю об'єкта Attr
, яка повертає довжину значення атрибута у символах. Ця властивість є корисною при роботі з атрибутами елементів у документах XML та HTML, особливо коли потрібно перевірити або обмежити довжину значення атрибута.
Розглянемо простий приклад використання length
:
<div id="myDiv" class="myClass" data-value="Hello, World!"></div>
const div = document.getElementsByTagName('div')[0];
const idAttr = div.attributes.getNamedItem('id');
const classAttr = div.attributes.getNamedItem('class');
const dataAttr = div.attributes.getNamedItem('data-value');
console.log(idAttr.length); // Виведе 5
console.log(classAttr.length); // Виведе 8
console.log(dataAttr.length); // Виведе 13
У цьому прикладі ми маємо div
елемент з атрибутами id
, class
та data-value
. Ми отримуємо ці атрибути за допомогою getNamedItem()
і виводимо значення властивості length
для кожного з них. Оскільки значення атрибута id
є "myDiv"
, його довжина дорівнює 5 символів, значення class
є "myClass"
, його довжина - 8 символів, а значення data-value
є "Hello, World!"
, його довжина - 13 символів.
Властивість length
може бути корисною для перевірки або обмеження довжини значення атрибута перед його використанням або збереженням. Наприклад, ми можемо перевірити, чи не перевищує довжина значення атрибута певного максимального значення:
const maxLength = 20;
const attr = div.attributes.getNamedItem('data-value');
if (attr.length > maxLength) {
console.log('Значення атрибута перевищує максимальну довжину');
} else {
// Виконуємо дії з атрибутом
}
У цьому прикладі ми встановлюємо максимальну довжину значення атрибута maxLength
рівною 20 символів. Потім ми отримуємо атрибут data-value
і перевіряємо, чи не перевищує його довжина maxLength
. Якщо перевищує, ми виводимо повідомлення в консоль, інакше можемо виконувати певні дії з атрибутом.
Властивість length
також може бути корисною для обробки значень атрибутів, наприклад, для обрізання довгих значень або додавання певних префіксів чи суфіксів залежно від довжини значення.
Слід зазначити, що length
є властивістю об'єкта Attr
, а не методом. Це означає, що ми звертаємося до неї безпосередньо як до властивості об'єкта атрибута, а не викликаємо її як функцію.
Хоча length
переважно використовується при роботі з атрибутами XML та HTML документів, вона може бути корисною і в інших випадках, коли потрібно отримати довжину значення будь-якого рядка або об'єкта, який має властивість value
.
Порада: | Порада 4: Хоча |
Порада: | Пам'ятай, що |
Синтаксис
element.attributes[0].length
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
12.1 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
- |
- |
Приклади
У цьому прикладі після натискання на кнопку виводиться кількість атрибутів у елемента <p>
, використовуючи властивість attributes.length
. Цей приклад дозволяє користувачу побачити, як можна легко підрахувати кількість атрибутів у будь-якого HTML-елемента за допомогою JavaScript.
У цьому прикладі ми отримуємо довжину значення атрибута id
першого елемента div
на сторінці за допомогою властивості length
. Це демонструє найпростіший спосіб використання цієї властивості.
// Отримуємо перший елемент div на сторінці
const div = document.getElementsByTagName('div')[0];
// Отримуємо атрибут id цього елемента
const idAttr = div.attributes.getNamedItem('id');
// Виводимо довжину значення атрибута id в консоль
console.log(`Довжина значення атрибута id: ${idAttr.length}`);
У цьому прикладі ми перевіряємо, чи не перевищує довжина значення атрибута data-value
у всіх елементах div
на сторінці певного максимального значення. Якщо перевищує, ми обрізаємо значення атрибута до максимальної довжини. Це демонструє використання length
у поєднанні з іншими операціями над атрибутами.
// Отримуємо всі елементи div на сторінці
const divs = document.getElementsByTagName('div');
// Встановлюємо максимальну довжину значення атрибута
const maxLength = 20;
// Проходимо циклом по всіх div елементах
for (let i = 0; i < divs.length; i++) {
const div = divs[i];
// Отримуємо атрибут data-value для поточного div елемента
const dataAttr = div.attributes.getNamedItem('data-value');
// Якщо атрибут data-value присутній
if (dataAttr) {
// Перевіряємо, чи не перевищує довжина значення атрибута максимальну довжину
if (dataAttr.length > maxLength) {
// Обрізаємо значення атрибута до максимальної довжини
dataAttr.value = dataAttr.value.substring(0, maxLength);
console.log(`Значення атрибута data-value обрізано до ${maxLength} символів`);
}
}
}