Posted in Javascript onSeptember 21, 2013
/*获取标签的文字*/ function getTextContent(element, preformatted) { if (!elementIsVisible(element)) return ''; if (element.nodeType == 3 /*Node.TEXT_NODE*/) { var text = element.data; if (!preformatted) { //text = text.replace(/\n|\r|\t/g, " "); text = normalizeNewlines(text); } return text; } if (element.nodeType == 1 /*Node.ELEMENT_NODE*/ && element.nodeName != 'SCRIPT') { var childrenPreformatted = preformatted || (element.tagName == "PRE"); var text = ""; for (var i = 0; i < element.childNodes.length; i++) { var child = element.childNodes.item(i); text += getTextContent(child, childrenPreformatted); } // Handle block elements that introduce newlines // -- From HTML spec: //<!ENTITY % block // "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT | // BLOCKQUOTE | F:wORM | HR | TABLE | FIELDSET | ADDRESS"> // // TODO: should potentially introduce multiple newlines to separate blocks if (element.tagName == "P" || element.tagName == "TR" || element.tagName == "BR" || element.tagName == "HR" || element.tagName == "DIV") { text += "\n"; } return text; } return ''; } /*元素是否可见*/ function elementIsVisible(element) { if(element.style.visiablity == "hidden" || element.style.display == "none") return false; else return true; }
JS.getTextContent(element,preformatted)使用介绍
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@