2013-01-06 99 views
0

我是新手,所以這可能很簡單,但它不適合我。爲什麼不這個JavaScript腳本工作?

<div id="abc" style="width:100px; height:100px; background-color:Blue;" onclick="change()"> 
    Hi 
</div> 

而且這裏有一個腳本,以便點擊框應該更改文本。但沒有。爲什麼?

function change() 
{ 
    var text = "abcde"; 
    var new1 = ""; 
    var element = document.getElementById('abc'); 
    for (var i=0;i<text.length;i++) 
    { 
     new1 = substring(i,text.length-i); 
     element.innerHTML = new1; 
    } 
} 

jsfiddle:here

回答

3

substring()必須應用到一個字符串(要提取的部分之一),所以你的情況,我相信,你的意圖是這樣的:

function change() 
{ 
    var text = "abcde"; 
    var new1 = ""; 
    var element = document.getElementById('abc'); 
    for (var i=0;i<text.length;i++) 
    { 
     new1 = text.substring(i,text.length-i-1); 
     element.innerHTML = new1; 
    } 
} 

example fiddle

+1

我認爲問題在於該函數甚至沒有執行(至少在Jfiddle中)。如果您在該函數的頂部放置了一個警報,然後單擊該div,它不起作用。 – fdsa

+0

@fdsa在他的小提琴JS代碼放在「onLoad」事件。因此,在解析相應的div時不知道。我將其改爲「無包裝(頭)」,所以它在小提琴中起作用。 – Sirko

+0

謝謝。這是問題的一半。我看到的另一半是在左邊有一個箱子,在那裏我已經加載了,這是我通過在兩個jsfiddles之間切換而發現的。再次感謝。 – ispiro

相關問題