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;

  }