2012-04-02 20 views

Respuesta

0

Sólo anexar un nodo al elemento:

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

También podría ser necesario para limpiar de antemano:

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

En cuanto a conseguir el texto, no sé si hay una directa equivalente, pero probablemente no necesitará uno. Solo lea el nodeValue del elemento firstChild.

-1

uso puede hacer esto como

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

¿Este trabajo en IE y Chrome también? Pensé que TextContent solo era FF y innerText era IE y Chrome. Es por eso que estoy buscando una solución jquery.text entre navegadores. – Derek

+0

@Derek, sí, esto es trabajo desde IE 9 en adelante y Chrome en adelante. – Starx

+0

@Downvoter, ¿por qué el downvote – Starx

1

Estás buscando el módulo dojo/dom-prop. Si nos fijamos en el source, existe un manejo especial para la propiedad textContent si el navegador actual no lo admite.

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

Su código se vería como la siguiente:

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

o

domProp.get(node, "textContent"); 
Cuestiones relacionadas