JS.getTextContent(element,preformatted)使用介绍_javascript技巧
程序员文章站
2022-04-24 21:06:03
...
复制代码 代码如下:
/*获取标签的文字*/
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 var child = element.childNodes.item(i);
text += getTextContent(child, childrenPreformatted);
}
// Handle block elements that introduce newlines
// -- From HTML spec:
//// "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;
}
推荐阅读
-
JavaScript中的this关键字介绍与使用实例_javascript技巧
-
js open() 与showModalDialog()方法使用介绍_javascript技巧
-
HTML中的setCapture和releaseCapture使用介绍_javascript技巧
-
javascript 数组排序函数sort和reverse使用介绍_javascript技巧
-
Javascript 中的 call 和 apply使用介绍_javascript技巧
-
js修改原型的属性使用介绍_javascript技巧
-
php 中序列化和json使用介绍_javascript技巧
-
javascript中的void运算符语法及使用介绍_javascript技巧
-
javascript:;与javascript:void(0)使用介绍_javascript技巧
-
JS Replace()的高级使用方法介绍_javascript技巧