Javascript:无效替换会导致问题

Javascript: non-effective replaces causes problems

本文关键字:问题 替换 无效 Javascript      更新时间:2023-09-26

我有这个简单的代码,它是用div替换第一个span,

这里是LIVE示例:

  1. 原工作版本:http://jsfiddle.net/SNmLJ/5/
  2. 有变化的那个:http://jsfiddle.net/SNmLJ/6/

var pn = "parentNode" , rc = "replaceChild";
var elem = document.getElementsByTagName('span')[0];
var newE = document.createElement('div');
newE.innerHTML = 'test';
elem[pn][rc](newE , elem);

的代码是完美的工作,所以我试图缩短代码一点,所以我这样做:

var pn = "parentNode" , rc = "replaceChild";
var newE = document.createElement('div');
newE.innerHTML = 'test';
document.getElementsByTagName('span')[0][pn][rc](newE , elem);

,正如你所看到的,我把"elem"变量拿出来,并替换了代码底部的值,我不知道为什么它不工作,但我猜问题是"文档"对象在第一行的原因。

  • 一个问题:为什么它不能正常工作,这里出了什么问题?

问题是您忘记了elem变量也用于传递给replaceChild函数的最后一个参数。这里末尾是元素,但是您已经删除了定义:

document.getElementsByTagName('span')[0][pn][rc](newE , elem );

什么是elem在非工作代码?