<header>
<h2 class="title">Attr: setNamedItem() method</h2>
<p class="description">Встановлює або замінює значення атрибута елемента за його назвою.</p>
</header>
<main>
<div class="result">
<h3>Встановити атрибути</h3>
<label for="attr-name">Назва атрибута:</label>
<input type="text" id="attr-name" placeholder="Введіть назву атрибута">
<label for="attr-value">Значення атрибута:</label>
<input type="text" id="attr-value" placeholder="Введіть значення атрибута">
<button id="set-attr">Встановити атрибут</button>
<div id="target-element" style="margin-top: 10px; padding: 10px; background-color: #eee;" data-visible="true" class="my-class">
Це елемент, якому ми будемо встановлювати або змінювати атрибути. Наприклад, зміни значення атрибуту "class" на "bold".
</div>
<p id="output"></p>
</div>
</main>
body {
font-size: 16px;
line-height: 1.5;
font-family: monospace;
}
header {
background-color: #f1f1f1;
margin-bottom: 25px;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
header h2.title {
padding-bottom: 15px;
border-bottom: 1px solid #999;
}
header p.description {
font-style: italic;
color: #222;
}
.result {
background-color: #f8f8f8;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
#target-element {
border: 1px solid #ccc;
}
.bold {
font-weight: 700;
}
const targetElement = document.getElementById('target-element');
const outputElement = document.getElementById('output');
const setAttrButton = document.getElementById('set-attr');
const attrNameInput = document.getElementById('attr-name');
const attrValueInput = document.getElementById('attr-value');
setAttrButton.addEventListener('click', () => {
const attrName = attrNameInput.value.trim();
const attrValue = attrValueInput.value.trim();
if (attrName && attrValue) {
const newAttr = document.createAttribute(attrName);
newAttr.value = attrValue;
const existingAttr = targetElement.attributes.getNamedItem(attrName);
if (existingAttr) {
targetElement.attributes.setNamedItem(newAttr);
outputElement.textContent = `Атрибут "${attrName}" було змінено на "${attrValue}".`;
} else {
targetElement.attributes.setNamedItem(newAttr);
outputElement.textContent = `Новий атрибут "${attrName}" зі значенням "${attrValue}" було додано.`;
}
}
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.