nextDiv.firstChild.nodeValue (если текстовый узел - первый, или вообще единственный). Иначе - можно использовать следующую функцию:
function getElemText(node){
return node.text || node.textContent || (function(node){
var _result = "";
var childrens = node.childNodes;
var i = 0;
while (i < childrens.length) {
var child = childrens.item(i);
switch (child.nodeType) {
case 1: // ELEMENT_NODE
case 5: // ENTITY_REFERENCE_NODE
_result += arguments.callee(child);
break;
case 3: // TEXT_NODE
case 2: // ATTRIBUTE_NODE
case 4: // CDATA_SECTION_NODE
_result += child.nodeValue;
break;
case 6: // ENTITY_NODE
case 7: // PROCESSING_INSTRUCTION_NODE
case 8: // COMMENT_NODE
case 9: // DOCUMENT_NODE
case 10: // DOCUMENT_TYPE_NODE
case 11: // DOCUMENT_FRAGMENT_NODE
case 12: // NOTATION_NODE
// skip
break;
}
i++;
}
return _result;
}(node));
}
В принципе, её можно порядком укоротить, убрав ненужные case. Ну или использовать $(node).text() из jQuery ;)
Комментариев нет:
Отправить комментарий