2011-03-23 147 views
0

我問一個問題,而回有關如何獲取當前變量在一個循環中,我得到了解決:傳遞一個變量給另一個函數在Javascript

for (i in ...) 
     { 
     ... 
      href:"javascript:on_click('+i+');"...} 

當我運行這一點,循環發送on_click函數的字符串'我',而不是我的價值。
我使用+variable+錯了嗎?有人可以更詳細地解釋什麼包裝變量的意思,爲什麼它不適用於我的情況?

回答

0

試試這個:

href:"javascript:on_click('" + i + "');" 
+0

YESSS非常感謝你!我一直在試圖弄清楚這麼長的時間。你能解釋爲什麼這個工作? – LostLin 2011-03-23 19:23:49

+0

看看這個教程:http://www.quirksmode.org/js/strings.html那裏很漂亮的代碼示例,這應該給你正確的想法。 – 2011-03-23 19:52:13

1

是的,你是 - 如果你開始一個字符串",你必須以"(反之亦然')結束它。 SO中的語法突出顯示了這一點。

href:"javascript:on_click("+i+");"...} 

(正在發生的事情是,'"包圍的字符串被視爲普通'字符,它沒有啓動,也沒有在這裏結束字符串文本)。

+0

當我做'+ i +'時叫什麼?我想查看更多信息,除了我不知道要搜索什麼 – LostLin 2011-03-23 19:27:13

+0

會發生什麼,'i'被轉換爲字符串並連接到周圍的字符串。 – 2011-03-23 19:28:22

0

看來,你缺少雙引號關閉您的字符串。 Javascript不會在帶引號的字符串中進行可變插值。

嘗試:

href:"javascript:on_click('" + i + "');"...} 
0

你混合你的引號。

它應該是:

href: "javascript:on_click('" + i + "');" 

注意雙引號是如何在必要的不變部分的兩端。

相關問題