IE9分配与IE Quirks模式不同的值

IE9 Assigning Different Value than IE Quirks Mode

本文关键字:模式 Quirks 分配 IE IE9      更新时间:2023-09-26

我正在使用javascript为一些html元素动态赋值

var newInput = document.getElementById('newInput1');
var oldInput = document.getElementById('oldInput1');
newInput.value = oldInput.firstChild.nodeValue;

当我在IE Quirks模式下运行这个程序时,我的值会被适当地返回。我的调试器将读取:

Name      |  Value
newInput  |  777

然而,在IE9中,我有时会得到:

Name      |  Value
newInput  |  "'n   'n  777'n"

我以前从未遇到过这个问题;.firstChild.nodeValue在IE9中被替换了吗?

编辑

我注意到,在分配newInput.value时,会在字符串中添加一个空格" "。这个空间是代码后面的.trim med,但也许IE9在某个时刻或另一个上不能接受它

oldInput.firstChild.nodeValue.trim(); //to remove extra new line

trim()方法从字符串的两侧删除空白。

注意:trim()方法不会更改原始字符串。

请参阅此参考