Использовать пользовательский атрибут в 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');
Другие вопросы по тегам