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

yizhihongxing

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

简介

JS.getTextContent(element,preformatted) 是一个JS函数,用于获取元素中的文本内容。该函数常用于网页数据爬取、文本处理等场景。

该函数包含两个参数,分别为 element 和 preformatted。其中,element 是需要获取文本内容的元素;preformatted 是一个可选参数,用于指定文本是否为格式化后的文本,如果设置为 true,则表示获取的文本是格式化后的文本。

函数原型

function getTextContent(element, preformatted) {
    if (typeof element === 'string') {
        element = document.querySelector(element);
    }
    if (element === null) {
        return '';
    }
    var textContent = '';

    function traverse(node) {
        var childNodes = node.childNodes;
        for (var i = 0; i < childNodes.length; i++) {
            var child = childNodes[i];
            if (child.nodeType === Node.TEXT_NODE) {
                var text = child.textContent ||child.nodeValue ||child.text || '';
                if (preformatted) {
                    textContent += text + '\n';
                } else {
                    textContent += text.replace(/\s+/g, ' ') + ' ';
                }
            } else if (child.nodeType === Node.ELEMENT_NODE && child.nodeName !== 'SCRIPT' && child.nodeName !== 'STYLE') {
                traverse(child);
            }
        }
    }
    traverse(element);
    return textContent.trim();
}

示例

示例1

获取 id 为 content 的 div 元素中的文本内容

HTML 代码:

<div id="content">
    <p>Hello world</p>
    <ul>
        <li>list1</li>
        <li>list2</li>
    </ul>
</div>

JavaScript 代码:

var content = document.querySelector('#content');
var textContent = getTextContent(content);
console.log(textContent); // 'Hello world list1 list2'

示例2

获取格式化后的 id 为 pre 区域的文本内容

HTML 代码:

<pre id="preContent">
    <h1>Test</h1>
    <p>Hello world</p>
    <ul>
        <li>list1</li>
        <li>list2</li>
    </ul>
</pre>

JavaScript 代码:

var preContent = document.querySelector('#preContent');
var textContent = getTextContent(preContent, true);
console.log(textContent); // '\n    Test\n    Hello world\n    list1\n    list2\n'

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS.getTextContent(element,preformatted)使用介绍 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JS 实现微信扫一扫功能

    JS 实现微信扫一扫功能是非常有趣和实用的,下面我将为大家分享一下实现的完整攻略: 1. 获取微信官方 API 首先,为了实现扫一扫功能,我们需要先去微信开放平台(https://open.weixin.qq.com/)注册一个开发者账号,并申请获取微信官方 API。 当我们注册成功后,登录微信开放平台并创建一个新的微信公众号或小程序。在创建完成后,我们可以…

    JavaScript 2023年6月10日
    00
  • 浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总

    浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总 1. JS刷新框架中的其他页面 在JS刷新框架中,要刷新其他页面,可以使用以下代码: window.parent.location.reload(); 此代码可以重新加载父窗口中当前页面所在的框架集的所有页面。 同时,我们还可以利用window.open方法打开一个新的窗口,然后再用w…

    JavaScript 2023年6月11日
    00
  • javascript使用正则控制input输入框允许输入的值方法大全

    JavaScript使用正则控制input输入框允许输入的值方法大全 在开发前端网页时,有时我们需要对输入框的输入内容进行限制,只允许输入特定类型的数据,这时就可以使用JavaScript的正则表达式来控制。 以下列出了几种常见的限制方式和相应的正则表达式: 限制只允许输入数字 <input type="text" onkeyup=…

    JavaScript 2023年6月11日
    00
  • 解读TypeScript与JavaScript的区别

    解读TypeScript与JavaScript的区别 什么是TypeScript? TypeScript 是一种由微软开发和维护的语言,它是JavaScript的超集,在JavaScript的语法基础上,增加了静态类型、接口、类、模块和命名空间等特性,并提供了更完善的工具和编辑器支持,可以让开发者更加高效地编写和调试代码。相比于 JavaScript,Typ…

    JavaScript 2023年5月19日
    00
  • javascript 检测浏览器类型和版本的代码

    要检测浏览器类型和版本,我们可以使用JavaScript中的navigator对象。该对象提供了关于浏览器的详细信息,包括应用程序名称、代码名称、浏览器版本、当前操作系统和语言等。 以下是使用JavaScript检测浏览器类型和版本的代码: // 检测浏览器类型和版本的代码 const getBrowserInfo = () => { const ua…

    JavaScript 2023年6月10日
    00
  • JavaScript中的Screen屏幕对象

    当我们在Web中使用JavaScript时,有一些内置对象可以帮助我们进行与页面相关的操作,其中就包括了Screen屏幕对象。本文将详细介绍JavaScript中的Screen对象,包括其常见属性和方法,并给出两个示例说明。 Screen对象概述 所谓Screen对象,指的是代表用户屏幕的对象,该对象包含了屏幕的基本信息,例如屏幕的宽度、高度、像素密度等,同…

    JavaScript 2023年6月11日
    00
  • JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js

    我来详细讲解一下“JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js”的完整攻略。 一、前言 在 Web 前端工作中,我们常常需要根据用户的浏览器类型和操作系统类型来做一些特定的操作,例如,调整页面样式,兼容性处理等等。而 JavaScript 能够检测用户使用的浏览器和操作系统类型,我们可以借助它…

    JavaScript 2023年5月28日
    00
  • JavaScript的八种数据类型

    JavaScript的八种数据类型 JavaScript 的数据类型共分为 8 种,分别为: 原始类型:number、string、boolean、null、undefined、Symbol 引用类型:Object 原始类型 原始类型的值是简单的数据段,可以直接存储在变量中。 1. number 数字类型 尽管 JavaScript 中只有一种数字类型,但是…

    JavaScript 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部