Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

318
Visualizações
How to get inner href inside a tag?

The whole element is like below :

<h2 class="font120 mt0 mb10 mobfont110 lineheight20 moblineheight15"><a href="https://demosite.com">demo text</a></h2>

I have run this below command :

const y = document.getElementsByClassName("font120 mt0 mb10 mobfont110 lineheight20 moblineheight15")[0].innerHTML;
console.log(y);

And got the below result from it.

<a href="https://demosite.com">demo text</a>

Now I want to get href URL link, and then click on it. How can I do it using JavaScript? Also In addition to that, I want to add if else statement after this which will check if href URL changes in every 5 minutes , if it changes then it should click on href URL link otherwise it should just refresh the page.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

I think this comes close to what you want. I've tested it locally and works.

  1. There are a series of anchors inside containers. Each anchor has a click event attached to it.

  2. The initial href value is set to the first anchor's href attribute.

  3. The code then watches for any new clicks on the anchors. If there is one a timer starts. If the new href is the same the saved one after five seconds the page reloads. If it's not the same the new page is loaded.

  4. On each new click the timer resets.

// Pick up the anchors with `querySelectorAll`
const anchors = document.querySelectorAll('.demo a');

// Assign a handler to them for when the click
// event is triggered. (Note `handleClick` returns
// a new function that is actually assigned to the
// listener because I wanted to use prevent any unnecessary
// global variables, and you can do that with closure
anchors.forEach(anchor => {
  anchor.addEventListener('click', handleClick());
});

function handleClick() {
  
  // Initialise the current href, and
  // the timer
  let current = anchors[0].href;
  let timer;
  
  // Return the function the listener will
  // be using
  return function (e) {
    
    // Stop the anchor from doing anything
    e.preventDefault();
    
    // Get the new href from the clicked element
    const { href } = e.target;
    
    // Clear any timers
    clearTimeout(timer);
    
    // And set a new timer. If the current
    // href doesn't match the one on the clicked
    // element assign the page to a new location,
    // otherwise reload the current page.
    // This time is set for five seconds for testing
    // but you change that to five minutes (60000 x 5)
    timer = setTimeout(() => {
      if (current !== href) {
        // location.assign(href);
        console.log(`Redirecting to ${href}`);
      } else {
        // location.reload();
        console.log(`Refreshing ${current}`);
      }
      current = href;
    }, 5000);
  
  }
}
<div class="demo">
  <a href="https://demosite1.com">demo text 1</a>
</div>
<div class="demo">
  <a href="https://demosite2.com">demo text 2</a>
</div>
<div class="demo">
  <a href="https://demosite3.com">demo text 3</a>
</div>

Additional documentation

  • addEventListener

  • Closures

  • Destructuring assignment

  • querySelectorAll

  • setTimeout

about 4 years ago · Juan Pablo Isaza Relatório

0

All you need to do is look for the a element using the CSS selector h2 a and then get its href attribute:

console.log(document.querySelector("h2 a").href)
<h2 class="font120 mt0 mb10 mobfont110 lineheight20 moblineheight15"><a href="https://demosite.com">demo text</a></h2>

In order to set up a reload of the page you could set up a

setTimeout("location.reload()",5*60*1000)

This will reload the current page after five minutes and will continue to do so, as the reloaded page will contain the same (unfired) setTimeout function.

In order to check, whether the href value has changed from one to the next reloaded version you would need to store the value in localstorage and compare it every time after the page loads with the current href value.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda