2011-10-27 51 views
0

我有這個簡單的代碼與一個div取代第一跨度,的Javascript:非有效內容替換導致問題

這裏是活生生的實例:

  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」變種並在底部替換值的代碼, 我不知道爲什麼它不工作,但我想問題是在該行的第一個「文件」對象的原因。

  • 單個問題:爲什麼它不能正常工作,這裏出了什麼問題?

回答

1

的問題是,你忘了,也被用於傳遞給replaceChild函數的最後一個參數elem變量。 這裏是在結束ELEM,但你已經刪除的定義:

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

1

什麼是在非工作代碼elem

(提示:什麼;)