我正在使用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"


我以前没有遇到过这个问题; IE9中是否已替换.firstChild.nodeValue

编辑

我注意到在分配newInput.value时,在字符串中添加了一个空格" "。该空间在后面的代码中被.trim包含,但是IE9可能无法在某个时候接受它

最佳答案

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


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

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

see this reference

关于javascript - IE9分配的值不同于IE Quirks模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24816829/

10-09 17:26