Только несколько выбранных элементов, таких как <input>
с, <textarea>
с и <button>
с, могут иметь value
свойства:
console.log(
document.querySelector('a').value
);
<a value="val">a</a>
Если вам нужно использовать атрибут value
, используйте метод getAttribute
вместо точечной нотации:
console.log(
document.querySelector('a').getAttribute('value')
);
<a value="val">a</a>
Другой вариант - вместо этого использовать атрибуты данных, которые будут более подходящими, чем value="
s при работе с <a>
:
console.log(
document.querySelector('a').dataset.value
);
<a data-value="val">a</a>
(также убедитесь, что правильно подключите ваши обработчики событий, используя Javascript, если это вообще возможно - встроенные обработчики обычно считаются довольно плохой практикой - попробуйте использовать addEventListener
)
Чтобы использовать addEventListener
, выберите a
и наберите на нем addEventListener
.Например, если ваш <a>
имеет id
из details
:
const details = document.querySelector('#details');
details.addEventListener('click', () => {
showDetails(details.dataset.value);
});
function showDetails(str) {
console.log('showing details for ' + str);
}
<a id="details" data-value="thevalue">click for details</a>