gpt4 book ai didi

javascript - "nodeValue"文本节点的属性为空 - 那么我该如何测试它?

转载 作者:行者123 更新时间:2023-11-28 16:27:00 29 4
gpt4 key购买 nike

假设我有一个非常基本的页面,其中包含正文、单个 div 和一个包含一些文本的段落元素。

<body>
<div>
<p>some text</p>
<div>
</body>

根据浏览器的不同,body/div 元素将具有文本节点(nodeType === 3,nodeValue ===“--blank--”)。然而,P 元素将有一个合法的文本节点,其中 nodeValue ===“some text”。

我想知道的是“假”文本节点的“nodeValue”(--blank--)代表空白等于什么,因为我想编写一个 if 测试来过滤掉假文本节点。

示例:

var body = document.getElementsByTagName("body")[0];  // shortcut to body element.
console.log(body.childNodes[0].nodeValue) // maps to one of the fake text nodes that are blank.
// returns a blank line. What is that "blank" equal to? It's not 'null' or "" or undefined...

干杯,亚历克斯

最佳答案

trim()[docs]空白,看看是否还有剩余:

if( body.childNodes[0].nodeValue.trim() ) {
// more than white space
} else {
// just white space
}

如果只有空格,您最终会得到一个错误的值。否则它就是真的。

文档链接提供以下兼容性填充程序:

if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g, '');
};
}

关于javascript - "nodeValue"文本节点的属性为空 - 那么我该如何测试它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7655814/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com