Использовать пользовательский атрибут в JS для элемента
Например:
как я могу использовать this.href
для якорного элемента, и я создал собственный диалог атрибутов. Я не могу использовать этот диалог для атрибута тега привязкиthis.dialog
не работает
за работой:
<a onclick="this.href='anything'">anything</a>
не работает:
<a onclick="this.dialog='anything'">anything</a>
Примечание: диалог работает для меня так же, как href, но открывается в диалоговом окне.
3 ответа
Изменение элемента href
работает, потому что поведение по умолчанию (по ссылке) все еще соблюдается.
Атрибут, который вы ввели, dialog
, не влияет на поведение по умолчанию. Нажав на ссылку, браузер перейдет по ссылке. href
,
Если вы хотите изменить поведение ссылки и открыть диалог какого-либо типа, вам нужно сделать гораздо больше, чем просто присвоить значение случайному свойству элемента. Вам нужно подавить значение по умолчанию и определить свой собственный в обработчике событий.
Вместо того, чтобы пытаться подтолкнуть значение на this
Вы могли бы использовать setAttribute
функция:
<a onclick="this.setAttribute('dialog', 'anything');">anythingAlso</a>
Используйте DOM для доступа к атрибутам HTML
element.hasAttribute('foo'); element.getAttribute('foo'); element.setAttribute('foo', value); element.removeAttribute('foo');