是否会提醒?

时间:2010-07-12 05:47:14

标签: javascript html

这是正确的

<a href="#" style="color:#FFF;"onclick="add('alert("Google !")');" id="cricket" tabindex="1" name="cricket">cricket</a>

2 个答案:

答案 0 :(得分:1)

没有。

onclick="add('alert("

您的属性值中没有完整的JavaScript语句。

  

有些作者使用字符实体引用“&quot;”来编码双引号(“)的实例,因为该字符可用于分隔属性值。

- http://www.w3.org/TR/html4/charset.html#h-5.3

(顺便说一下:

  • 请勿使用href =“#”,build on stuff that works
  • 请勿使用样式属性,单独的演示文稿和内容
  • 不要忘记在属性之间添加空格
  • 不要使用内在事件属性(例如onclick),使用unobtrusive JS(这也可以解决嵌套引号的问题)
  • 尽可能避免使用tabindex支持合理的自然Tab键顺序 )

答案 1 :(得分:1)

onclick="add('alert("Google !")');"被解析为:

onclick        # attribute name
=
"add('alert("  # string
Google !       # random garbage
")');"         # another string

你必须转义内部引号,否则它们会终止字符串:

onclick="add('alert(&quot;Google !&quot;)');"

除此之外,它取决于add()的作用。