Как правило, вы можете использовать element.setAttribute('attributeName', 'value')
или element.propertyName = value
для переключения атрибутов или свойств элемента.
Булевы атрибуты
Для логических атрибутов установите атрибут с одноименным значением:
element.setAttribute('disabled', 'disabled');
Удаление логического атрибута работает так же, как и другие атрибуты:
element.removeAttribute('disabled');
Однако ни один из ваших двух примеров не является логическими атрибутами !
contenteditable
contenteditable
- это не логический атрибут, это перечисляемый атрибут. Возможные значения: пустая строка, "true"
и "false"
.
.
Хотя setAttribute
в этом случае кажется излишним, вы можете использовать его:
element.setAttribute('contenteditable', 'true');
// to undo:
element.removeAttribute('contenteditable');
Имя свойства для атрибута contenteditable
равно contentEditable
(обратите внимание на заглавную E
), а распознает значения 'true'
, 'false'
и 'inherit'
- так Вы можете просто использовать:
element.contentEditable = 'true';
// to undo:
element.contentEditable = 'false';
Обратите внимание, что 'true'
и 'false'
здесь строки, а не логические значения.
data-example
Для атрибута data-example
вы можете использовать:
element.setAttribute('data-example', 'some value'); // the value should be a string
// to undo:
element.removeAttribute('data-example');
Или в браузерах, которые поддерживают dataset
(см. Те, которые выделены светло-зеленым на http://caniuse.com/dataset),, которые вы можете использовать:
element.dataset.example = 'some value';