2010-12-16 34 views
1

如何在HTML中的事件處理程序中轉義雙引號?在HTML事件處理程序中轉義雙引號

例如,我該如何正確轉義bar,這是一個字符串,在下面的代碼?

<button onclick="foo("bar")")>Click Me</button> 

因爲我使用XHTML,所以不能使用單引號作爲屬性值。我可以使用單引號字符串,但我想要保持一致。

回答

1
<button onclick="foo(&quot;bar&quot;);">Click Me</button> 

而且,您可以在XHTML的確混合使用它們,試試這個在W3 validator

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>foo</title> 
</head> 
<body> 
<div onclick='bar("foo");'></div> 
</body> 
</html> 

有一些教程,說單引號是無效的,但他們是不正確的。

+2

確定<按鈕的onclick = 「富(\」 欄\ 「)」)>按我作品?對我來說沒有運氣。 – 2010-12-16 02:45:20

+0

@Tom Tucker:感謝您的糾正,我搞砸了其他語言。我編輯了我的帖子。 – 2010-12-16 02:50:44

+1

順便說一句,我投了你的答案,但有人投票下來,因此零。 :( – 2010-12-16 03:03:00

1

XHTML更喜歡在屬性周圍使用雙引號。但是你仍然可以在值內使用單引號。後續的例子是XHTML 1.0 Strict標準

<button onclick="foo('bar')">Click Me</button> 

我會建議尋找到progressive enhancement和移動從行爲屬性了。