html的多个内联注释

时间:2012-10-30 17:51:30

标签: javascript html css comments

我正在尝试评论以下html,以便它不应该转到超链接。

<a href="<!--http://www.google.com=-->" target="_blank" onclick="javascript:alert('Navigation Prevented')">CLICK HERE FOR GOOGLE</a>

我无法评论target =“_ blank”。如果我这样做它不起作用,它也会在页面上显示javascript。

如何在新标签页中显示页面显示警告以及停止打开页面。我希望取消target =“_ blank”的效果。

我们不能为html内联多个注释。

4 个答案:

答案 0 :(得分:1)

您不能在元素的属性值中包含注释标记。

通过添加return false;,您可以这样做而不是评论。这可以防止浏览器关注链接:

<a href="http://www.google.com" target="_blank"
   onclick="javascript:alert('Navigation Prevented'); return false;">CLICK HERE FOR GOOGLE</a>

小提琴:http://jsfiddle.net/rBmjs/

答案 1 :(得分:1)

<a href="google.com" target="_blank" onclick="javascript:alert('Navigation Prevented');return false;">CLICK HERE FOR GOOGLE</a>

这一点的重要部分是return false;属性上的onclick。这指示浏览器在单击后立即取消此链接。所以会发生什么是javascript将被执行,但链接将被跟踪。

答案 2 :(得分:1)

HTML标记内不能包含HTML注释,因为注释本身就是标记。

您可以从事件处理程序返回false,以防止浏览器跟踪链接:

<a href="http://www.google.com" target="_blank" onclick="javascript:alert('Navigation Prevented');return false;">CLICK HERE FOR GOOGLE</a>

答案 3 :(得分:1)

在看到其他用户说评论不能包含在元素属性中之后,我开始想知道为什么。当然这是一个不好的做法,但为什么它不起作用?

我检查了HTML5 commentsHTML4.01 comments的规格,答案是在4.01规范中:

  

请注意,评论是标记

评论的<!部分仅打开声明,>将其关闭。它是--字符串,用于将声明标识为注释。将注释语法与doctype声明和CDATA部分进行比较时,这一点就变得很明显了。

因为你不能在属性值中放置声明(我无法在规范中明确说明这一点,但似乎很明显),注释不能包含在属性值中。

有趣的是,HTML5 comments部分未提及“评论是标记”的说明。但是,我确信同样的规则仍然存在。

如果有任何错误,请随时发布更正。