JS.getTextContent(element,preformatted)使用介绍

代码如下:

/*获取标签的文字*/ 
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; 
}

相关推荐