¿Cuál es el Dojo equivalente a $("...").text("asdf")
y $("...").text()
?Dojo equivalente a la función jQuery.text?
También hay una wiki o sitio que proporciona equivalentes dojo de funciones jQuery?
¿Cuál es el Dojo equivalente a $("...").text("asdf")
y $("...").text()
?Dojo equivalente a la función jQuery.text?
También hay una wiki o sitio que proporciona equivalentes dojo de funciones jQuery?
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
.
uso puede hacer esto como
dojo.query('#yourdiv')[0].lastChild.textContent = 'text';
var text = dojo.query('#yourdiv')[0].lastChild.textContent
Una función similar en el dojo es NodeList.text()
http://dojotoolkit.org/reference-guide/1.7/dojo/NodeList-manipulate.html#text
Se puede utilizar como a continuación.
dojo.query("#id").text("asdf");
var txt = dojo.query("#id").text();
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");
¿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
@Derek, sí, esto es trabajo desde IE 9 en adelante y Chrome en adelante. – Starx
@Downvoter, ¿por qué el downvote – Starx