2009-10-29 84 views
15

Tôi có một file HTML chứa các dòng sau:Lấy giá trị của văn bản từ một đối tượng văn bản trong JavaScript

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

Tôi đang cố gắng để chọn cụm từ "Văn bản của tôi" sử dụng JavaScript để tôi có thể thay đổi nó. Tôi có thể lấy đối tượng chứa văn bản bằng cách sử dụng lastChild, nhưng không thể tìm ra cách để lấy giá trị của văn bản.

Trả lời

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

Lưu ý: innerText là dành cho IE DOM, textContent là dành cho phần còn lại của DOM API phù hợp như Mozillas.

+0

mát người đàn ông nhờ – Ralph

+0

Tôi quên để xác định 'lastChild', Tôi chỉ cần thêm nó bây giờ. –

+0

@meder Đừng nghĩ rằng sự suy giảm chiến thuật của bạn về câu trả lời của mọi người khác đã không được chú ý. –

2

nếu bạn có

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

sau đó bạn có thể làm

lastChild.innerHTML được giá trị và bạn cũng có thể làm

lastChild.innerHTML="new text" 
-1

thử này

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

Đề xuất của tôi là đặt giá trị mà bạn muốn thay đổi trong phần tử riêng của nó mà bạn có thể xác định. Sau đó, bạn có thể sử dụng một dòng đơn giản của jQuery:

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

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

bạn có thể truy cập nội dung văn bản của [đối tượng văn bản] bởi thuộc tính "dữ liệu". tài sản này là R/W để bạn có thể sử dụng nó để đọc văn bản cũng như để viết nó.

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

bạn có thể tìm thêm here

Các vấn đề liên quan