私はまだこれに対する適切な答えを見つけていません:
& (アンパサンド) は でエスケープする必要がありonclick="..."
ますか? (それとも、すべての HTML 属性で?)
jsFiddle と W3C のバリデーターで、エスケープされたテストとエスケープされていないテストの両方を実行しようとしましたが、どちらも機能しています...
<div onclick="if (1==1 && 2==2) alert('hello there');">Without escape</div>
<div onclick="if (1==1 && 2==2) alert('hello there');">With escape</div>
http://validator.w3.org/#validate_by_input
<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><title></title></head><body>
<div onclick="if (1==1 && 2==2) alert('hello there');">Click me</div><br>
<div onclick="if (1==1 && 2==2) alert('hello there');">Click me</div>
</body></html>
ありがとう!