2016-01-03 77 views
0

onclick參數不起作用,爲什麼?Javascript非法字符錯誤

mydiv.innerHTML = mydiv.innerHTML + '<div style="border-bottom: 1px solid #D1D1D1; height: 50px; width: 100%; color: #464646; font-family: RobotoMedium;" onclick="seite5_wechseln('+variable+')">'; 

希望有一個解決方案。

+0

'variable'的價值是什麼?可能的問題是,你想用它作爲字符串常量,但你留下了引號。 – Pointy

+0

其如下所示:acc2 –

+0

jsfiddle上的演示會更好 – Gintoki

回答

1

看來你正在傳遞一個字符串到seite5_wechseln函數。但是你沒有用引號括起來。

嘗試:

mydiv.innerHTML = mydiv.innerHTML + '<div style="border-bottom: 1px solid #D1D1D1; height: 50px; width: 100%; color: #464646; font-family: RobotoMedium;" onclick="seite5_wechseln(\''+variable+'\')">'; 
+0

雖然這是正確的,但OP的代碼有很多問題可以解決,而不是修補不起作用的一個位。 –

+0

謝謝!這是解決方案 –

+0

@ T.詹森不客氣。如果這對你有幫助,請認爲它是「anaswer」 –

1

有這麼多事情錯這個......

試試這個。我稱之爲「做正確的」;)

var newdiv = document.createElement('div'); 
newdiv.style.cssText = [ 
    "border-bottom: 1px solid #D1D1D1", 
    "height: 50px", 
    "width: 100%", 
    "color: #464646", 
    "font-family: RobotoMedium" 
].join(";"); 
newdiv.onclick = function() { 
    seite5_wechseln(variable); 
}; 
mydiv.appendChild(newdiv); 

而且可以改進,如定義CSS類的元素,並把款式有(使用newdiv.className = "myclass";將其設置爲你的元素),以及因爲使用addEventListener而不是.onclick賦值,但這相對於原始代碼已經有了巨大的改進。