Що стосується javascript , одна відмінність полягає в тому, що thisключове слово в onclickобробнику буде посилатися на елемент DOM, onclickатрибутом якого він є (в даному випадку <a>елемент), тоді як thisв hrefатрибуті буде посилатися на windowоб'єкт.
Що стосується подання , якщо hrefатрибут відсутній у посиланні (тобто <a onclick="[...]">), то за замовчуванням браузери відображатимуть textкурсор (а не часто бажаний pointerкурсор), оскільки він трактує <a>як якор, а не посилання.
З точки зору поведінки , коли вказується дія за допомогою навігації черезhref , браузер, як правило, підтримує відкриття цього hrefвікна в окремому вікні, використовуючи або ярлик, або контекстне меню. Це неможливо, якщо вказати дію лише через onclick.
Однак якщо ви запитуєте, який найкращий спосіб отримати динамічну дію від клацання об’єкта DOM, то найкращим способом є приєднання події за допомогою javascript, окремо від вмісту документа. Ви могли це зробити різними способами. Поширений спосіб - використовувати бібліотеку javascript, наприклад jQuery, для прив'язки події:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<a id="link" href="http://example.com/action">link text</a>
<script type="text/javascript">
$('a#link').click(function(){ /* ... action ... */ })
</script>