Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.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
Javascript IE中原型替换()方法的问题_Javascript_Prototypejs - Fatal编程技术网

Javascript IE中原型替换()方法的问题

Javascript IE中原型替换()方法的问题,javascript,prototypejs,Javascript,Prototypejs,我正在使用.replace()方法替换HTML内容。我需要替换前一个元素,所以我使用这个函数的返回值。在IE8中,它在特定情况下返回一个空字符串(我不能提供示例,因为脚本不是独立的) 我做了一些研究,发现IE8在第2770行(原型1.7)中调用Element.Methods.replace,Mozilla在第2059行中调用“replace” Element.Methods.replace做了一些工作,并最终将原始元素outerHTML替换为以某种方式剥离的新内容(第2791行) 最后,在我看来

我正在使用.replace()方法替换HTML内容。我需要替换前一个元素,所以我使用这个函数的返回值。在IE8中,它在特定情况下返回一个空字符串(我不能提供示例,因为脚本不是独立的)

我做了一些研究,发现IE8在第2770行(原型1.7)中调用Element.Methods.replace,Mozilla在第2059行中调用“replace”

Element.Methods.replace做了一些工作,并最终将原始元素outerHTML替换为以某种方式剥离的新内容(第2791行)

最后,在我看来,它返回了应该被替换的原始元素,但在第2791行中已经用新内容修改过,在那里它变成了一个空字符串

所以我基本上有两个问题:

  • 为了进一步了解为什么会发生这种情况,有人能解释一下什么时候调用这个方法吗?IE似乎不会在每次调用replace()时启动它

  • 在我看来,这个函数返回修改过的原始元素而不是返回原始元素是错误的。这是预期的行为吗


  • 不知道原型是什么,但您总是可以“自己做”:只需在替换之前将变量的值存储在其他变量中。多出一行,但少了一个麻烦。:)当然你是对的,但我只是好奇;-)