2009-10-29 10 views
15

Ho un file HTML che contiene la seguente riga:Ottenere il valore di testo da un oggetto di testo in JavaScript

<div><img src="img1.gif"><br>My Text</div> 

sto cercando di selezionare la frase "Il mio testo" usando JavaScript in modo da poter cambiare esso. Sono in grado di ottenere l'oggetto che contiene il testo utilizzando lastChild, ma non riesco a capire come ottenere il valore del testo stesso.

risposta

21
<div id="test"><img src="img1.gif"><br>My Text</div> 

function getText(obj) { 
    return obj.textContent ? obj.textContent : obj.innerText; 
} 

function setText(obj, to) { 
    obj.textContent? obj.textContent = to : obj.innerText = to; 
} 

getText(document.getElementById('test')) // 'My Text' 
setText(document.getElementById('test').lastChild, 'bar') 

Nota: innerText è per IE DOM, textContent è per il resto del compliant DOM API come Mozillas.

+0

Uomo freddo grazie – Ralph

+0

ho dimenticato di specificare 'lastChild', ho solo aggiunto ora. –

+0

@meder Non pensare che il tuo downsoting tattico della risposta di tutti gli altri sia passato inosservato. –

2

se avete

<div><img src="img1.gif"><br><span>My Text</span></div> 

allora si può fare

lastChild.innerHTML ottiene il valore e si può anche fare

lastChild.innerHTML="new text" 
-1

provare questo

.InnerText 
0
var x = the object you got 
var theOldText = x.innerText 
x.innerText = "new text" 
0

Il mio suggerimento sarebbe quello di mettere il valore che si desidera modificare nel proprio elemento che è possibile identificare. Quindi è possibile utilizzare una semplice linea di jQuery:

<div><img src="img1.gif"><br><div id='myText'>My Text</div></div> 

$('#myText').text('new text'); 
0

è possibile accedere al contenuto di testo del [oggetto testo] dalla proprietà "dati". questa proprietà è R/W in modo che tu possa usarla per leggere il testo e anche per scriverlo.

<div><img id="my_img_1" src="img1.gif">My Text</div> 
<script> 
    alert('my current text = ' + lastChild.data); 
    lastChild.data = 'new text'; 
</script> 

è possibile trovare ulteriori here

Problemi correlati