Я хочу добавить свойство в элементы DOM с помощью jQuery.
Атрибут отключен, который использует этот атрибут для отключения элемента. например
<p>A paragraph</p>
и хочу, чтобы это стало
<p disabled> A paragraph </p>
Но запустив следующий код
$('p').attr('disabled', '');
дает мне:
<p disabled="disabled"><A paragraph</p>
Пробовал использовать prop(), но prop даже не добавил свойство.
$('p').prop('disabled','');
Как добавить атрибут non-value с помощью jQuery?
Или что я делаю неправильно?
Вы имеете дело с DOM, а не с HTML. disabled
и disabled="disabled"
эквивалентны, и нет способа сообщить браузеру, как (при сериализации в HTML) он должен сериализовать атрибут, который может быть сериализован несколькими способами.
(disabled=""
, последний раз, когда я проверил, недействителен)
Попробуйте .replaceWith()
$('p').replaceWith(function (_, old) {
return '<p disabled>' + old + '</p>';
});