2012-04-02 30 views

Trả lời

0

Chỉ cần nối thêm một nút để phần tử:

someElement.appendChild(document.createTextNode('asdf')); 

Bạn cũng có thể cần phải xóa nó trước:

while(someElement.firstChild) someElement.removeChild(someElement.firstChild); 

Như để nhận được văn bản, tôi không biết nếu có một trực tiếp tương đương nhưng có thể bạn sẽ không cần. Chỉ cần đọc nodeValue của phần tử firstChild của phần tử.

-1

Sử dụng có thể làm điều này như

dojo.query('#yourdiv')[0].lastChild.textContent = 'text'; 
var text = dojo.query('#yourdiv')[0].lastChild.textContent 
+1

Sẽ làm việc này trong IE và Chrome cũng? Tôi nghĩ textContent chỉ là FF và innerText là IE và Chrome? Đây là lý do tại sao tôi đang tìm kiếm một giải pháp jquery.text qua trình duyệt. – Derek

+0

@Derek, Vâng, đây là công việc từ IE 9 trở đi và Chrome trở đi. – Starx

+0

@Downvoter, Tại sao các downvote – Starx

1

Bạn đang tìm kiếm mô-đun dojo/dom-prop. Nếu bạn nhìn vào source, có xử lý đặc biệt cho thuộc tính textContent nếu trình duyệt hiện tại không hỗ trợ nó.

if(propName == "textContent" && !has("dom-textContent")) { 
     ctr.empty(node); 
     node.appendChild(node.ownerDocument.createTextNode(value)); 
     return node; 
    } 

Mã của bạn sẽ trông giống như sau:

domProp.set(node, "textContent", "hello world!"); 

hoặc

domProp.get(node, "textContent"); 
Các vấn đề liên quan