2009-07-20 1 views
1

I теперь, когда я могу вставить текст в <div> теге по:прилагая текст в <a> -tags с 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> 

Мой вопрос: как я могу добавить текст к ссылке?

Примеры не работают 1 и 2.

ответ

3

В примере, который вы опубликовали выше, попробуйте использовать нижеприведенный код. Я изменил идентификатор тега div, чтобы отличаться от ссылки, которую вы пытаетесь изменить, и изменил код, чтобы изменить href привязки.

<!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

действительно классный, но он добавляет «Dsi7x-A89Mw» в конец «Нажмите здесь», а не «http://www.youtube.com/watch?v=». –

+0

В этом случае вы хотите использовать anchor.href ... я внесла поправки в свой ответ. – tschaible

+0

Отлично! Большое спасибо :) Решено. –

2

InnerText или TextContent могут быть использованы для получения доступа к тексту тега:

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

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

Однако те не являются кросс-браузер, так что вы, вероятно, будет лучше использовать innerHTML:

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

Смотреть это:

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

+0

Он не будет добавлять, а скорее заменяет текст. –

+0

Спасибо @Artem, добавлено '+' – karim79

+0

innerText не поддерживается всеми браузерами. –

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

Должен добавить «Я только что-то сделал». на ваш текущий текст привязки

+0

Я что-то не понял? Это не работает: http://pastebin.com/m7f634ebe –

+1

В примере, который вы опубликовали, есть два элемента с одним и тем же идентификатором. id должен быть уникальным на странице, попробуйте использовать другой идентификатор для вашего элемента. – tschaible

Смежные вопросы