2012-04-02 2 views

ответ

0

Просто добавьте узел к элементу:

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

Вам также может потребоваться очистить его заранее:

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

Что касается получения текста, я не знаю, есть ли прямая эквивалент, но, вероятно, вам это не понадобится. Просто прочитайте nodeValue элемента firstChild.

-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

+0

@Derek, Да, это работа от IE 9 Onwards и Chrome и далее. – Starx

+0

@Downvoter, почему downvote – Starx

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"); 
Смежные вопросы