Dojo中相当于jQuery.text函数的是什么?

5

Dojo中相当于$("...").text("asdf")$("...").text()的方法分别是什么?

此外,是否有一个维基或网站提供Dojo函数对应jQuery函数的列表?

4个回答

3

1
你正在寻找dojo/dom-prop模块。如果你查看源代码,会发现对于文本内容属性textContent有特殊处理,以防当前浏览器不支持它。
    if(propName == "textContent" && !has("dom-textContent")) {
        ctr.empty(node);
        node.appendChild(node.ownerDocument.createTextNode(value));
        return node;
    }

您的代码将如下所示:
domProp.set(node, "textContent", "hello world!");

or

domProp.get(node, "textContent");

0

只需将一个节点添加到元素中:

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

你可能需要事先清除它:

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

关于获取文本,我不知道是否有直接的对应词,但你可能不需要一个。只需读取元素的第一个子节点的nodeValue即可。

-1

你可以这样做:

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

1
这个在IE和Chrome上也能用吗?我以为textContent只能在FF上用,而innerText则是IE和Chrome的专利?这就是为什么我正在寻找一个跨浏览器的jquery.text解决方案。 - Derek
@ Derek,是的,这适用于IE 9及以上版本和Chrome及以上版本。 - Starx
我没有点踩,但可能是因为在IE < 9中textContent不可用。 - Tim Down

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接