作者:ljp3044544 | 来源:互联网 | 2023-01-22 12:42
我有一个带有简单Javascript函数的HTML表单,用于根据所选的选项将用户发送到不同的链接.
Submit
它按预期工作.该变量dT
返回所选选项的值.
但是,如果
和之间没有换行符
,则dT
返回undefined
.不过,如果我更改childNodes[1]
到childNodes[0]
它,然后再工作.我不知道为什么会这样.我认为parentNode
并且childNode
基于HTML元素及其中的文本,而不是元素之间的换行符.如果我不得不猜测,换行符被视为文本节点,但这对我没有意义.那是怎么回事?有一个更好的方法吗?
1> Andrew Bedfo..:
这是因为在HTML中,元素内的空格被视为文本,文本被视为节点(参见w3schools).因此,通过添加换行符,您将添加一个节点,这
就是可以通过childNodes [1]访问该节点的原因.如果没有换行符,则
可以通过childNodes [0]访问该节点.
或者作为`children [0]`而不管文本节点 - 当然,对于IE 8或更低版本,通常的"互联网爆炸行为表现不同"