2017-04-03 67 views
0

我試圖用HTML發送的onclick參數的onclick的Javascript動態HTML中使用參數分配onclick事件

for (var i = 0; i < 2; i++) { 
    if (i == 1) { 
     document.write(" <tr class='noBorder' onclick='foo(i)' >"); 
    } 
    if (i == 0) { 
     document.write(" <tr class='noBorder' onclick='foo(i)' >"); 
    } 
} 

但是,每當我點擊一排,我回來的onclick = FOO(2)

我一直在找了一圈,發現了同樣的問題

Javascript - Dynamically assign onclick event in the loop

我想知道是否有可能與document.wri做到這一點TE?

+0

的onclick =「富(我)」在相應的條件下改變我值1和0 – Sankara

+0

這種情況也是沒有用處的。 – Ibu

+0

這些只是測試用例。最後,我只會有文件撰寫(.. FOO(I) – HelpinCodingpls

回答

0

你只需要從Javascript字符串刪除i

for (var i = 0; i < 2; i++) { 
    if (i == 1) { 
     document.write(" <tr class='noBorder' onclick='foo(" + i + ")' >"); 
    } 
    if (i == 0) { 
     document.write(" <tr class='noBorder' onclick='foo(" + i + ")' >"); 
    } 
} 

2注

  1. 你應該逆您的使用 '和」 ......使用' ...'劃屬性無效HTML5(你需要<div style="..."></div>,不<div style='...'></div>
  2. 你看foo(2)無處不在,因爲這是最後一個值i了。您的onclick可以工作,但會提取i的最後一個值,而不是在呈現HTML時對i的值進行硬編碼。
+0

的一條線,如果我== 1,那麼你也可以說的onclick =「富(1)」 – Sankara

+0

這是正確的做法,但後來是什麼原因對於這種狀況呢? – Ibu

+0

或者,如果條件應該被刪除 – Sankara

0

文件撰寫報表必須在頁面加載完畢

因此運行之前,你不會想要把文件撰寫成一個onclick

如果你想修改頁面已經加載,你將不得不使用div標籤和使用這樣的:

document.getElementById("name").innerHTML = "bob"; 
+0

但它適用於上述答案 – HelpinCodingpls