Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何将空白作为子节点计数?_Html - Fatal编程技术网

Html 如何将空白作为子节点计数?

Html 如何将空白作为子节点计数?,html,Html,在DOM中,空格计为空文本元素。 我如何计算这些空白 比如说 <body> <div> </div> <div> </div> </body> body元素中有多少空格(childNodes) 每个div元素中有多少空格(childNodes)?如果要查看有多少元素为空?然后我给你一个jQuery解决方案 bodyChild = $("body :empty").length;

在DOM中,空格计为空文本元素。 我如何计算这些空白

比如说

<body>

    <div>

    </div>

    <div>

    </div>

</body>

body元素中有多少空格(childNodes)


每个div元素中有多少空格(childNodes)?

如果要查看有多少元素为空?然后我给你一个jQuery解决方案

bodyChild = $("body :empty").length;
divHcild = $("#divid :empty").length;
使用它们,您可以知道一个元素中有多少元素是完全空的


更新: 要获取所有子元素,可以使用如下内容

正文:


您发布的代码有5个空格。我会向你解释这是为什么。首先,我想明确一点,当我提到WhiteSpace时,我所说的不仅仅是
字符。空白也可以是表示空节点的
\t
\r
\n
字符。
话虽如此,我们可以讨论您发布的代码如何在DOM中表示:

body
 |
 x-- #Text = "\n\t"
 |
 x-- div
 |    |
 |    x-- #Text = "\n\t"
 |
 x-- #Text = "\n\t"
 |  
 x-- div
 |    |
 |    x-- #Text = "\n\t"
 |
 x-- #Text = "\n"
您可以注意到,
\n
\t
位于同一文本节点中。这符合DOM级别2的规定,即:

当文档首次通过DOM可用时,每个文本块只有一个文本节点

因此,向下推压
div
的分隔线与向右推压它的选项卡位于同一文本节点中。 我们可以进一步向
div
s中的一个添加文本:

文本使用两个空白节点分组,因为所有内容都是文本,因此它们成为单个文本块。这是计算文档中空白的方法。
但我不会依靠我的眼睛,试图通过计算空格来查找或访问元素。相反,使用一些脚本在
childNodes
中循环,并检查的
nodeType


您可以使用一些有用的函数来横切DOM,而不用担心空格。

好了,说够了。让我们看一些代码。要证明您发布的HTML有5个空格,请参阅此统计文档中所有文本节点的工作


希望这有助于澄清一些问题。

因为如果我不知道主体内有多少子节点,我如何访问主体内的元素(例如主体元素)。我不想使用innerHTML。如果不这样做,通过查看代码来计算有多少子节点???@user1394479,这就是访问这些元素的方式。使用
长度
和可能的
for循环
我的原始问题。。那些空白怎么样???我读到它们也是childNodes,我想知道如何计算它们。headfirst css/html,为什么说空白也是childNodes是错误的?
body
 |
 x-- #Text = "\n\t"
 |
 x-- div
 |    |
 |    x-- #Text = "\n\t"
 |
 x-- #Text = "\n\t"
 |  
 x-- div
 |    |
 |    x-- #Text = "\n\t"
 |
 x-- #Text = "\n"
<body>

    <div>

    </div>

    <div>
        Hello World!
    </div>

</body>
body
 |
 x-- #Text = "\n\t"
 |
 x-- div
 |    |
 |    x-- #Text = "\n\t"
 |
 x-- #Text = "\n\t"
 |  
 x-- div
 |    |
 |    x-- #Text = "\n\t Hello World! \n\t"
 |
 x-- #Text = "\n"