2013-10-03 76 views
0

我有這樣IMG的onclick當quores

var cross= '<img src="./img/cross.png"height="25px" width="25px" style="float: right; 
           vertical-align: top"' + 'onclick="alert('+1+');">'; 

代碼的IMG正確顯示但警報不工作不工作。 此外,我不知道是否有一些提示時,用許多引號編寫代碼或有一些其他方式來實現。

+4

最好你會避免使用內聯處理程序像你在這裏,那麼你就不需要擔心會因爲它的報價權作爲一個額外的好處 – kinakuta

+0

你爲什麼不使用此代碼?那些額外的引號是做什麼的? 'var cross ='';' – EhsanT

回答

0

試試這個代碼

var temp = "+1+"; 
var cross= "<img src='./img/cross.png' height='25px' width='25px' style='float: right; vertical-align: top' onclick='alert(temp)'">; 
0

哥們,有這麼多毛病這個我不知道從哪裏開始。

<img src="./img/cross.png"height="25px" width="25px" style="float: right; 
         vertical-align: top"' + 'onclick="alert('+1+');">'; 
  1. 屬性應該有它們之間的間隔。不確定這是否是嚴格的HTML規範的一部分,但肯定有助於可讀性。 <img src="..." height="...">
  2. 寬度和高度上的<img>標籤是整型的屬性,而不是CSS。所以<img width="25" height="25">
  3. 路徑開始點是不必要的,因爲相對路徑假設從當前目錄中去。只需src="img/cross.png"就是你想要的。
  4. 你爲什麼連接兩個文字字符串?有時候保持行距不受控制是有道理的,但在你的情況下,它使得難以引用和逃避更加困難。
  5. onclick部分是一個單引號字符裏面雙引號,這是很好的,但隨後的字符串在第一個單引號結束。所以,你得到onclick="alert(其次+1這被轉換爲字符串onclick="alert(1那麼最終的字符串追加(右括號,分號,雙引號,右尖括號)。令人驚訝的是,這似乎是語法上有效的JavaScript。

總之,用反斜槓在alert語句中跳過單引號。