Javascript 什么';在诸如';风格';和';onclick';?

Javascript 什么';在诸如';风格';和';onclick';?,javascript,html,css,comments,Javascript,Html,Css,Comments,用HTML编写注释的正确方法是:。对于Javascript,正确的注释编写方式是//Comment或/*Comment*/,而对于CSS,注释编写为/*Comment*/ 用HTML元素的style和onclick属性编写注释的正确方法是什么 例如,哪个是对的?这: <span style='color: red; <!-- background-color: green; -->'>Test</span> 我成功地尝试了以下代码- <div

用HTML编写注释的正确方法是:
。对于Javascript,正确的注释编写方式是
//Comment
/*Comment*/
,而对于CSS,注释编写为
/*Comment*/

用HTML元素的
style
onclick
属性编写注释的正确方法是什么


例如,哪个是对的?这:

<span style='color: red; <!-- background-color: green; -->'>Test</span>

我成功地尝试了以下代码-

    <div style="width:816px; /*height:1300px;*/ float: left"></div>
<div style="width:816px; <!--height:1300px;--> float: left"></div>


style
属性的语法基本上与CSS文件相同。因此注释语法与CSS中的相同,即
/**/

onEVENT
属性的语法是Javascript。Javascript有两种类型的注释:
/
注释到行尾,以及
/**/。如果
onEVENT
属性是单行,如果使用
/
它将注释属性的其余部分。如果要提前结束注释,请使用
/**/。您还可以在
onEVENT
属性中使用换行符;然后,
/
注释将只持续到换行符

例如:

<div id="foo" onclick="alert('foo'); // comment */; alert('bar');">
    // comment
</div>
<div id="bar" onclick="alert('foo'); /* comment */ alert('bar');">
    /* */ comment
</div>
<div id="foobar" onclick="alert('foo'); // comment
alert('bar')">
    // comment multi-line
</div>

//评论
/**/评论
//多行注释
//comment
中,第二个
警报()
被注释掉。在
/**/comment
中,两个警报都会执行。此外,这两个警报都在
//注释多行中执行。
令人惊讶的是,SO代码荧光灯正确地实现了这一点


首先,不要混淆HTML、CSS和JavaScript注释。它们不能互换

让我们从您的第一个HTML片段开始:

<span style='color: red; <!-- background-color: green; -->'>Test</span>
这里我们有嵌套格式:我们有一个HTML元素,具有一个值为多个的属性。在CSS中

这里我们没有HTML注释,但是我们有CSS注释。这意味着内容不是从HTML文档内容中注释掉的,而是从CSS声明中注释掉的——因此,任何负责解析CSS并基于这些声明在页面上呈现元素的引擎都将忽略它

但如果我们在不同的上下文中使用相同的语法:

<span title='color: red; /* background-color: green; */'>Test</span>

如果混淆了这一点,最终会出现如下问题。

请注意,在
onclick
中使用HTML注释语法将导致验证失败-显然,HTML验证器会检查JavaScript事件属性值的语法。但是,它不需要检查内联样式属性的语法,因此即使使用了HTML注释,导致CSS无效,它仍然是有效的HTML。请注意,HTML属性(包括脚本)中允许使用多行值,因此
/
不必将以下所有代码都标记为注释。:-)@RobG您需要刷新,我更新了我的答案以包含该内容。@BoltClock听起来像是验证器中的一个bug。@Richard JP Le Guen:我尝试了问题中给出的HTML 4严格文档类型和过渡文档类型的代码片段,但它们在style attributes.tl中的HTML注释似乎都没有问题;博士使用属性值计算为的“语言”的注释样式。
    <div style="width:816px; /*height:1300px;*/ float: left"></div>
<div style="width:816px; <!--height:1300px;--> float: left"></div>
<div id="foo" onclick="alert('foo'); // comment */; alert('bar');">
    // comment
</div>
<div id="bar" onclick="alert('foo'); /* comment */ alert('bar');">
    /* */ comment
</div>
<div id="foobar" onclick="alert('foo'); // comment
alert('bar')">
    // comment multi-line
</div>
<span style='color: red; <!-- background-color: green; -->'>Test</span>
<span style='color: red; /* background-color: green; */'>Test</span>
<span title='color: red; /* background-color: green; */'>Test</span>
<span onclick="alert('1'); // alert('2');">Click me!</span>  
<span onclick="alert('1'); /* alert('2'); */">Click me!</span>
<span onclick="alert('1'); <!-- alert('2'); -->">Click me!</span>
<button onclick="this.setAttribute('style', 'color:red;/*CSS comment!*/background:black;'); // JavaScript comment!">Click on me!</button>