2009-10-29 18 views
15

我有一個HTML文件,其中包含以下行:獲取文本的值從文本對象在JavaScript

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

我想選擇的那句「我的文字」使用JavaScript這樣我就可以改變它。我能夠使用lastChild獲取包含文本的對象,但無法弄清楚如何獲取文本本身的值。

回答

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

注:的innerText是IE DOM,的textContent對於DOM兼容的API的其餘部分如Mozillas。

+0

冷靜的人感謝 – Ralph 2009-10-29 21:23:30

+0

我忘了指定'lastChild',我只是說現在。 – 2009-10-29 21:24:55

+0

@meder不要認爲你的戰術downvoting其他人的答案已被忽視。 – 2009-10-29 21:30:48

2

,如果你有

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

那麼你可以做

lastChild.innerHTML得到值 ,你也可以做

lastChild.innerHTML="new text" 
-1

試試這個

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

我的建議是將您想要更改的值放入您可以識別的自己的元素中。然後你可以使用jQuery的簡單的一行:

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

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

您可以通過「data」屬性訪問[object Text]的文本內容。 該屬性是R/W,以便您可以使用它來讀取文本以及編寫它。

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

你可以找到更多here