Как добавить ненулевой атрибут в элемент DOM с помощью jQuery

0

Я хочу добавить свойство в элементы 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?

Или что я делаю неправильно?

Теги:

2 ответа

3

Вы имеете дело с DOM, а не с HTML. disabled и disabled="disabled" эквивалентны, и нет способа сообщить браузеру, как (при сериализации в HTML) он должен сериализовать атрибут, который может быть сериализован несколькими способами.

(disabled="", последний раз, когда я проверил, недействителен)

1

Попробуйте .replaceWith()

$('p').replaceWith(function (_, old) {
    return '<p disabled>' + old + '</p>';
});

fiddle Demo

  • 1
    интересно, потому что это работает
  • 0
    @ A.Wolff Я просто экспериментировал, и это сработало :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню