как установить все ссылки (href) на странице в «#» с помощью JavaScript - PullRequest
0 голосов
/ 18 августа 2010

как установить все ссылки (href) на странице в «#» с помощью javascript

Ответы [ 3 ]

6 голосов
/ 18 августа 2010

НЕ ИЗМЕНЯЙТЕ HREF НА #

Установите функцию onclick для возврата false.

Это будет иметь тот же эффект, в то же время позволяя повысить удобство использования.

Вот краткий пример (используя jQuery, но работает с чем угодно):

jQuery('a').click( doStuff );

function doStuff()
{
    // ...function body...

    return false;
}

Это работает, потому что значение, которое вы возвращаете из функции события onX , определяет, будет ли это событиепродолжает стрелять или останавливается.Верните true, чтобы разрешить его продолжить, или false, чтобы остановить его.

С onclick это означает, что щелчок остановлен (поэтому ссылка не отслеживается) - однако он по-прежнему позволяет людям взаимодействоватьсо ссылкой по среднему и правому щелчку (например, открытие на новой вкладке, добавление в закладки и т. д.)

В другом примере с onkeypress вы можете вернуть false, чтобы запретить добавление набранного символа вэлемент управления вводом (например, вы можете имитировать элемент управления HTML5 input="numeric", имея onkeypress, который возвращает false для любых нечисловых символов).

3 голосов
/ 18 августа 2010

Использование jQuery:

$('a').attr('href', '#');
2 голосов
/ 18 августа 2010

Используйте метод getElementsByTagName (), чтобы получить теги, а затем переберите их, чтобы установить свойство.

var links = document.getElementsByTagName("a");

for (var link in links)
{
    links[link].href = "#";
}

РЕДАКТИРОВАТЬ: Для удовлетворения не "foreach" метод.

var links = document.getElementsByTagName("a");

for(i=0;i<links.length;i++) 
{
    links[i].href = "#";
}
...