2012-04-02 126 views

回答

0

只需追加一個節點的元素:

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

您可能還需要事先清除:

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

至於獲取文本,我不知道是否有直接的相當於,但你可能不會需要一個。請閱讀元素firstChildnodeValue

-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 2012-04-02 22:36:25

+0

@Derek,是的,這是從IE 9起和Chrome之後的工作。 – Starx 2012-04-02 22:39:22

+0

@Downvoter,爲什麼downvote – Starx 2012-04-02 22:59:28

1

您正在尋找dojo/dom-prop模塊。如果您查看source,如果當前瀏覽器不支持textContent屬性,則會進行特殊處理。

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

您的代碼將如下所示:

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

domProp.get(node, "textContent");