2012-04-02 16 views

Odpowiedz

0

Wystarczy dołączyć węzeł do elementu:

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

też może być konieczne, aby usunąć je z wyprzedzeniem:

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

chodzi o uzyskanie tekst, nie wiem, czy istnieje bezpośredni równoważny, ale prawdopodobnie go nie potrzebujesz. Wystarczy przeczytać nodeValue elementu o numerze firstChild.

-1

stosowanie może to zrobić jak

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

Czy to działa w IE i Chrome, jak również? Myślałem, że textContent to tylko FF, a innerText to IE i Chrome? Właśnie dlatego szukam rozwiązania jquery.text dla różnych przeglądarek. – Derek

+0

@Derek, tak, to jest praca od IE 9 i później. – Starx

+0

@Dvvovator, Dlaczego spadł – Starx

1

Szukasz modułu dojo/dom-prop. Jeśli spojrzeć na source, istnieje specjalna obsługa dla właściwości textContent, jeśli bieżąca przeglądarka nie obsługuje go.

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

Twój kod będzie wyglądać następująco:

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

lub

domProp.get(node, "textContent");