2012-09-10 40 views
0

我想知道爲什麼下面的jsfiddle不起作用。如果無論如何它都能工作。任何想法,將不勝感激。我會認爲,因爲當時html會包含變量名稱,它會起作用......但它沒有。奇怪的。我正在使用Firefox,最新版本。Javascript innerHTML超出範圍問題?

應該發生什麼:onclick應該警惕!

http://jsfiddle.net/VqA9g/125/

+1

問題是什麼? –

+0

它警報? – User

+0

@Luka它警告? – User

回答

5

你的方法調用需要引用LIST_NAME。

下面是編輯的腳本作品:

function example() { 
    for (var i = 0; i < list.length ; i++) { 
     var list_name = list[i]; 
     var div = document.getElementById('testing'); 
     div.innerHTML += "<txt onClick=\"test('" + list_name + "');\">" + list_name + "</txt><br>"; 
    } 
} 

有了這個變化不大,我可以看到警報工作。

+0

非常感謝。我認爲人們並沒有閱讀代碼和downvoting。呵呵。感謝您的幫助,我甚至從來沒有想到。 「\」是什麼意思? – User

+0

您生成的HTML需要像 ZERO
。它是早些時候沒有引號的測試(ZERO)。所以沒有引號的ZERO被視爲未定義的變量。 –

+0

「是一個轉義序列來逃避」,否則你的字符串會在匹配的第一個實例中被終止「。如果它適合你,你可以接受這個答案 –