Как дважды перенаправить URL-адрес с помощью document.getElementById(ID).href?

Добрый вечер. Этот вопрос является расширением для document.getElementById для включения href. В настоящее время у меня есть следующие гиперссылки и следующие гиперссылки используют javascript для перезаписи URL-адреса. В первый раз, когда я нажимаю на следующие гиперссылки, это работает, но когда я нажимаю на нее во второй раз, он переходит к URL-адресу, который находится в теге a, но не в javascript. Как я могу сделать, чтобы следующие гиперссылки переходили на URL-адрес, который находится в javascript каждый раз, когда я нажимаю на него?

<script> 

//..
   function nextHyperLinks() {

          document.getElementById("nextID").href = "www.google.com";
   }
</script>

<HTML>
   //..
   <a href="www.yahoo.com" id="nextID" onclick="nextHyperLinks();">next</a>
</HTML>

Если что-то не ясно, пожалуйста, дайте мне знать. Нужны подсказки и советы, спасибо. ^^


person 薛源少    schedule 05.08.2013    source источник


Ответы (2)


Попробуй это:

function nextHyperLinks(e) {
  e.preventDefault();
  document.getElementById("nextID").href = "www.google.com"; // you probably don't need this if you will anyway navigate away from the page.
  window.open('http://www.google.com/', '_self');
}

var el= document.getElementsById('nextID');
el.addEventListener('click', nextHyperLinks);

и удалите встроенный onclick="nextHyperLinks();"

person Sergio    schedule 05.08.2013
comment
да, это работает на чистом веб-сайте html... могу ли я узнать, почему вы используете preventDefault? будет ли он работать так же, если будет задействован сервлет Java? - person 薛源少; 05.08.2013
comment
@薛源少 薛源少 preventDefault означает, что ссылка в теге a не будет переходить. - person Sergio; 05.08.2013

http://jsfiddle.net/45WQq/

<a href="http://www.yahoo.com" id="nextID" onclick="this.href = 'http://www.google.com'" target="_blank">next</a>
person GwenM    schedule 05.08.2013
comment
хм, это работает, но не соответствует моему требованию... Мне нужно передать значение javascript, извините... - person 薛源少; 05.08.2013