2009-10-29 11 views
15

Mam plik HTML, który zawiera następujący wiersz:Pierwsze wartość tekst z obiektu tekstowego w JavaScript

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

próbuję wybrać frazę „Mój tekst” przy użyciu JavaScript, aby można było zmienić to. Jestem w stanie uzyskać obiekt zawierający tekst za pomocą lastChild, ale nie mogę dowiedzieć się, jak uzyskać wartość samego tekstu.

Odpowiedz

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') 

Uwaga: innerText jest dla IE DOM, textContent jest dla reszty zgodnej DOM API, takich jak Mozillas.

+0

cool man dzięki – Ralph

+0

zapomniałem podać 'lastChild', po prostu dodaje się go teraz. –

+0

@meder Nie sądź, że twoje taktyczne osłabienie odpowiedzi innych osób pozostało niezauważone. –

2

jeśli masz

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

wtedy można zrobić

lastChild.innerHTML Pobiera wartość i można to zrobić również

lastChild.innerHTML="new text" 
-1

spróbować tej

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

Moja sugestia to umieszczenie wartości, którą chcesz zmienić w swoim własnym elemencie, który możesz zidentyfikować. Następnie można skorzystać z prostej linii jQuery:

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

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

możesz uzyskać dostęp do zawartości tekstowej [obiektu obiektu] przez właściwość "data". Ta właściwość jest R/W, dzięki czemu można go używać do czytania tekstu, jak również go napisać.

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

można znaleźć więcej here

Powiązane problemy