2009-07-20 5 views
1

je maintenant que je peux insérer du texte à <div> par tag:texte dans <a> -Tags Adjonction avec Javascript

<script type="text/javascript"> 
    function doSomething(){ 
    var lbl = document.getElementById('messageLabel'); 
    lbl.innerHTML = "I just did something.";  
    } 
</script> 

</head> 
<body> 
    <div> 
    <div id="messageLabel"></div> 
    <input type="button" value="Click Me!" onclick="doSomething();" /> 

    </div> 

Ma question: comment puis-je ajouter du texte à un lien? Exemples non fonctionnels 1 et 2.

Répondre

3

Dans l'exemple que vous avez posté ci-dessus, essayez plutôt d'utiliser le code ci-dessous. J'ai changé l'id de la balise div pour être différent du lien que vous essayez de changer et changé le code pour modifier le href de l'ancre.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title>Javascript Debugging with Firebug</title> 
<script type="text/javascript"> 
    function addLink(){ 
    var anchor = document.getElementById('link'); 
    anchor.href += "Dsi7x-A89Mw"; 
    } 
</script> 

</head> 
<body> 
    <div> 
    <div id="linkdiv"></div> 
    <input type="button" value="Click Me!" onclick="addLink();" /> 

    <a id="link" href="http://www.youtube.com/watch?v=">Click here</a> 
    </div> 
</body> 
</html> 
+0

vraiment cool, mais il ajoute "Dsi7x-A89Mw" à la fin de "Cliquez ici", et non "http://www.youtube.com/watch?v=". –

+0

Dans ce cas, vous voulez utiliser anchor.href ... j'ai modifié ma réponse. – tschaible

+0

Super! Un grand merci :) Résolu. –

2

innerText ou textContent peut être utilisé pour accéder au texte d'un tag:

var anchor = document.getElementById('something'); 
anchor.innerText += "some text";  

var anchor = document.getElementById('something'); 
anchor.textContent += "some text"; 

Cependant, ceux qui ne sont pas multi-navigateur, vous seriez probablement mieux d'utiliser innerHTML:

var anchor = document.getElementById('something'); 
anchor.innerHTML += "some text"; 

Voir ceci:

http://www.quirksmode.org/dom/w3c_html.html

+0

Il ne s'ajoute pas, mais remplace le texte. –

+0

Merci @Artem, ajouté '+' – karim79

+0

innerText n'est pas supporté par tous les navigateurs. –

3
var anchor = document.getElementById('anchorID'); 
anchor.innerHTML = anchor.innerHTML + " I just did something."; 

Devrait ajouter "Je viens de faire quelque chose". à votre texte d'ancrage actuel

+0

Ai-je mal compris quelque chose? Cela ne fonctionne pas: http://pastebin.com/m7f634ebe –

+1

L'exemple que vous avez posté a deux éléments avec le même identifiant. id est censé être unique dans une page, essayez d'utiliser un identifiant différent pour votre élément. – tschaible

Questions connexes