recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment transmettre une fonction à un href créé dynamiquement ?

Je souhaite transmettre une fonction à l'attribut href de mon lien de balise a, mais peu importe ce que j'essaye, cela ne fonctionne pas. Soit cela aboutit à une page 404, soit il est simplement impossible de cliquer. Qu'ai-je fait de mal?

Ceci n'est pas cliquable

<body>
<a id="specialLink" href="#" onClick="redirectToApp()">点击我</a>
<script>
document.getElementById('specialLink').href = redirectToApp();
function redirectToApp () {
    return "http://www.google.com";
} 
</script>
</body>

Ceci n'est pas cliquable

<body>
<a href="#" onClick="document.location.href=redirectToApp()">点击我</a>
<script>
function redirectToApp () {
    return "http://www.google.com";
} 
</script>
</body>

Cela a abouti à une page 404

<body>
<a href="javascript:document.location.href=redirectToApp();">点击我</a>
<script>
function redirectToApp () {
    return "http://www.google.com";
} 
</script>
</body>

Je devrais probablement aussi préciser que j'envoie ce code HTML à l'endroit où le lien devrait s'ouvrir, et à moins que je ne transmette simplement l'URL sous forme de chaîne au href, rien ne fonctionne.

P粉571233520P粉571233520493 Il y a quelques jours1121

répondre à tous(1)je répondrai

  • P粉788571316

    P粉7885713162023-09-23 00:45:10

    Vous pouvez essayer ceci :

    const anchor = document.getElementById('specialLink')
    anchor.addEventListener((e) => {
        e.preventDefault()
        window.open("https://google.com");
    
    })

    Et supprimez l'attribut onClick sur la balise d'ancrage

    répondre
    0
  • Annulerrépondre