2015-07-02 132 views
-8

我在傳遞多個參數給Javascript函數時遇到了一些麻煩。意外令牌} Javascript

功能:

function selectDino(dinosaurName, dinosaurHealth, dinosaurTraits) 
{ 
    localStorage.setItem("dinoName", dinosaurName); 
    localStorage.setItem("dinoHealth", dinosaurHealth); 
    localStorage.setItem("dinoTraits", dinosaurTraits); 
    location.replace("nextpage.html"); 
} 

....

通話(主要是 「selectDino()」 位):

<img class="leftDino" src="dino1.png" onmouseover = getDino("dinoOne") onclick=selectDino("dinoOne", "20", "Banterous")> 
<img class="centerDino" src="dino2.png" onmouseover = getDino("dinoTwo") onclick=selectDino("dinoTwo", "18", "Spiky")> 
<img class="rightDino" src="dino3.png" onmouseover = getDino("dinoThree") onclick=selectDino("dinoThree", "22", "Bitey")> 

每當我期待在Chrome開發者控制檯,它告訴我以下內容:

Uncaught SyntaxError: Unexpected token } 

任何人都可以幫忙嗎?

編輯

在屬性周圍添加單引號,並解決了問題。

+5

你應該將你的屬性包含在引號中:'onmouseover =「getDino('dinoOne')」onclick =「selectDino('dinoOne','20','Banterous')」' –

+2

@ Magicprog.fr另一方面是更好(並且是有效的html):'onmouseover =「getDino('dinoOne')」' – ben

+0

在錯誤日誌的右側,應該是行號。 – mguimard

回答

8

onclickonmouseover功能需要" "onclick="foo();"

<img class="rightDino" src="dino3.png" onmouseover="getDino('dinoThree')" onclick="selectDino('dinoThree', '22', 'Bitey')"> 
+0

我已經添加了引號,但仍然出現相同的錯誤。 – String

+3

你把單引號放在裏面了嗎? – epascarello

+0

@epascarello不,我會試試。 – String

3

用引號括您的HTML屬性,並關閉HTML元素(/>):

<img class="leftDino" src="dino1.png" onmouseover="getDino('dinoOne')" onclick="selectDino('dinoOne', '20', 'Banterous')" /> 
<img class="centerDino" src="dino2.png" onmouseover="getDino('dinoTwo')" onclick="selectDino('dinoTwo', '18', 'Spiky')" /> 
<img class="rightDino" src="dino3.png" onmouseover="getDino('dinoThree')" onclick="selectDino('dinoThree', '22', 'Bitey')" /> 

記住我也改了內部報價單引號('),否則,你會完全破壞你的HTML。

+0

在HTML5中,自閉元素:'area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,''不需要'/'at結尾 –

+2

@ Magicprog.fr:當然,但它[仍然是一個好主意]關閉你的標籤(http://stackoverflow.com/questions/3558119/are-self-closing-tags-valid-in-html5)。 – Cerbrus