2013-12-10 28 views
-1

我倒是想通過jQuery在前面加上一個onClick功能的DIV這樣的:jQuery的前面加上HTML語法錯誤「和」

var myFirstDivChange = '<div class="myClass" onClick="changemyvariable('4v5');">MyText</div>', 

$('#myDiv').prepend(myFirstDivChange); 

這是changemyvariable功能:

function changemyvariable (mynewvariable) { 
var myoldvariable = mynewvariable 

} 

它確實不起作用並返回

SyntaxError: syntax error 
changemyvariable(

「or」有問題嗎?如果我嘗試它像「4V5」它不工作,要麼..

+0

你有' '''內''。 –

+0

您需要將內部單引號轉義爲'changemyvariable(\'4v5 \')',但實際上您應該動態綁定該事件,而不是將其編碼到標記中。 –

+0

請考慮使用['.click()'](http://api.jquery.com/click/)綁定事件,而不是對其進行硬編碼。 –

回答

2

你必須引用單引號在你的HTML字符串:

var myFirstDivChange = '<div class="myClass" onClick="changemyvariable(\'4v5\');">MyText</div>', 

你會更好使用jQuery添加,因爲你仍然在使用庫:

$('#mydiv').prepend($('<div/>', { 
    text: "MyText" 
, "class": "myClass" 
, click: function() { changemyvariable("4v5"); } 
})); 

同樣的效果,但不那麼凌亂。

1

你必須逃離報價

'<div class="myClass" onClick="changemyvariable(\'4v5\');">MyText</div>'