`

清除HTML之间的空白节点

阅读更多

HTML之间的空白节点,会影响HTML排版,清除空白节点除了在定代码时注意,也可以通过JS清除:

为了重复利用,可以将它包装成一个函数:

 

function removeWhitespace(element) {
	var elem = $$.Dom.getNode(element) || document,
	cur = elem.firstChild,
	tmp,
	reg = /\S/;//这里最好将正则保存在一个变量里,如果在下面使用直接量,会造成一定的性能问题,直接量不是一个对象,所以它没有方法,系统在执行它时会临时包装一个空白对象,这样如果页面文件很大时,就会出现性能问题。
	while (cur !== null) {
		tmp = cur.nextSibling;
		if (cur.nodeType === 3 && !reg.test(cur.nodeValue)) {
			elem.removeChild(cur);
		} else if (cur.nodeType === 1) {
			removeWhitespace(cur);
		}
		cur = tmp;
	}
	return elem;
}
removeWhitespace();

 

 

 

分享到:
评论

相关推荐

    对Xpath 获取子标签下所有文本的方法详解

    值得注意的是,`string()`函数会去除掉子元素之间的空白字符,因此多个子元素的连续文本会被连接在一起。 2. **`text()` 节点测试** 另一种方法是直接使用`text()`节点测试,这会返回所有直接子节点的文本内容,但...

    去掉html

    去除HTML意味着要移除这些标签及其相关的属性,仅保留它们之间的文本内容。 2. **正则表达式**:一个简单的方法是使用正则表达式(Regular Expression)来匹配并替换HTML标签。Python的`re`模块可以完成这个任务,...

    正则 过滤 html tab

    通过递归遍历每个节点,我们检查文本是否全为空白(包括制表符),如果是,则删除该节点;对于标签节点,如果其内容仅包含空白,也会被移除。 至于"boost",它可能是指Boost库,这是一个C++库集合,提供了许多功能...

    使用TWebBrowser将Html文件批量转换成纯文本文件的delphi源代码

    在IT领域,有时候我们需要将HTML文件转换为纯文本文件,以去除格式并简化内容处理。在Delphi编程环境中,TWebBrowser组件是一个强大的工具,它允许我们与Web内容进行交互,包括加载HTML文档和提取纯文本。本篇文章将...

    XPathTutorial

    XPath内置了许多函数,如text()返回节点的文本内容,normalize-space()去除文本中的空白,count()计算节点集合的大小,concat()连接字符串等。例如,"normalize-space(//title)"会返回元素的文本,去除前后的空白。 ...

    爬虫的Xpath定位神器,非常的简单方便

    XPath的强大还体现在其丰富的函数库,如`count()`计算节点个数,`concat()`拼接字符串,`contains()`判断字符串是否包含特定内容,以及`normalize-space()`去除文本中的空白等。这些函数在处理网页数据时非常实用,...

    xpath资料还有相关的下载地址

    2. **轴(Axes)**:轴定义了节点之间的关系,如子节点(child)、父节点(parent)、同级节点(following-sibling)和前一个同级节点(preceding-sibling)等。例如,`//p/following-sibling::div`会选取所有在元素...

    aaaaaaaaaaaxpath.zip

    2. **轴**:描述了节点之间的关系,如 `child`(子节点)、`attribute`(属性)、`parent`(父节点)等。 3. **节点测试**:用来确定轴上的节点是否符合特定条件,如 `*` 代表所有节点,`text()` 代表文本节点,`@...

    XPath测试程序

    另外,还可以使用函数来处理节点集,如`count()`计算节点数量,`concat()`连接字符串,`normalize-space()`去除空白等。 综上所述,XPath测试程序结合HtmlAgilityPack,为.NET开发者提供了一种高效、灵活的方式来...

    Web_Crawler_Notes-master.rar

    在XPath中,轴(Axis)定义了节点之间的关系。常见的轴有: - **子节点轴(child axis)**: 选取当前节点的所有子节点,如`//div/child::p`。 - **父节点轴(parent axis)**: 选取当前节点的父节点,如`//p...

    Xpath指南XPATH实例

    - XPath中的轴定义了节点之间的关系,比如`child`轴表示子节点,`parent`轴表示父节点,`attribute`轴表示属性,`self`轴表示自身,`following-sibling`轴表示同级后的节点等。 3. **选择节点**: - **选择元素...

    难点较多-08-04-web前端面试题2015-31

    `trim`方法用于去除字符串开头和结尾的空白字符。然而,不是所有浏览器都支持这个方法。为了确保兼容性,可以检查`String.prototype.trim`是否存在,如果不存在,就扩展一个自定义实现。给定的代码展示了如何在不...

    scrapy中用法示例

    3. **轴(Axis)**:XPath通过轴来指定当前节点与要选取的节点之间的关系,如子节点(child)、父节点(parent)、属性(attribute)等。例如,`//div/child::p` 选取所有属于元素的子元素。 二、XPath选择器 1. *...

    javascript解决innerText浏览器兼容问题思路代码.docx

    - **非 IE 浏览器**:在非 IE 浏览器中,`innerText` 不会忽略 `display:none` 的元素中的文本,并且不会自动去除多余的空白符。 这种差异可能会导致在不同浏览器中显示不一致的结果。为了应对这一挑战,开发者需要...

    IE浏览器下的图片空隙间距BUG和解决办法.pdf

    2. **移除空格**:在HTML源代码中,删除或压缩图片标签之间的空格和换行符,使得它们紧贴在一起,这可以避免被IE浏览器解析为空白节点。 ```html <li><img src="image1.jpg" alt="Image1">...

    BS4_BeautifulSoup.docx

    文档树中的节点之间存在多种关系,包括父节点、子节点和兄弟节点。 - **3.2.1 父节点** - `parent`属性返回父节点。 - `parents`生成器返回所有祖先节点。 - **3.2.2 子节点** - `contents`列表包含所有直接...

    XPath教程(描述XPath的用法)

    - `normalize-space()` 函数用于去除属性值两侧的空白字符,如 `//b[normalize-space(@id)='id1']`。 5. **函数应用**: - `count()` 函数计算满足条件的节点数量。例如,`//*\[count(BBB) = 2\]` 选取所有拥有两...

    xpath viewer.rar

    例如,`count()`计算节点的数量,`string()`将节点转换为字符串,`concat()`连接字符串,`contains()`检查字符串是否包含另一个字符串,`normalize-space()`去除字符串两端的空白,以及许多其他功能强大的函数。...

Global site tag (gtag.js) - Google Analytics