a.setAttribute ("onclick", "return false;");
Избегайте setAttribute, он вам никогда не понадобится для обработки документов HTML, и есть проблемы с браузером (особенно с IE, особенно с обработчиками событий). Вместо этого используйте прямые свойства DOM HTML:
a.onclick= function() {
return false;
};
addEventListener - это хорошо, если вы используете protectDefault (), как предложено fphilipe, но вам потребуется резервная копия attachEvent для IE, где DOM Events не поддерживаются. Это может быть излишним, если вы просто попытаетесь отключить ссылку.
Лично для отключения ссылки я бы предпочел полностью избавиться от нее, чтобы она больше не была доступна для таких операций, как open-in-new-window или bookmark-link, и не принимала участие в клавиатуре порядок табуляции.
Таким образом, вы можете удалить Chhild () или заменить Child на диапазон с тем же текстом или удалить текст из ссылки:
while (a.firstChild)
a.parentNode.insertBefore(a.firstChild, a);
a.parentNode.removeChild(a);