если (self.href! = "#")
Там ваша проблема. Ссылка hrefs канонизируется браузером, поэтому ссылка '#' на странице 'http://www.example.com/' имеет атрибут href 'http://www.example.com/#' и не соответствует условию.
Избегайте использования имени «я», поскольку оно сталкивается с именем глобального объекта (он же «окно»). Вы можете избежать неуклюжего переходящая в из «я», назначив обработчик из JavaScript:
document.getElementById('load').onclick= request;
вместо атрибута onclick
, то вы можете использовать «это» в запросе(). request() также должен return false;
, чтобы остановить отслеживаемую ссылку (чтобы браузер переместился вверх). Лучше все равно использовать <button>
(или <input type="button">
), потому что это кнопка действия, а не ссылка, которую вы можете открыть в новом окне или закладке. (Вы всегда можете использовать CSS, чтобы он выглядел меньше как кнопка.)
Не используйте setAttribute() для HTML, у него есть проблемы в IE, не связанные с этим использованием. Установка element.id
была уже прекрасна.
Но все это кажется довольно странным способом обойти то, что вы хотите сделать в любом случае.
Какой браузер вы используете? –
Какой тип doctype вы используете? –
Safari 4, так как я тестировал и в других, и это не сработало? – Homework