簡體   English   中英

HTML的多個內聯注釋

[英]Multiple inline comments for html

我正在嘗試評論以下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內聯多個注釋。

您不能在元素的屬性值中包含注釋標簽。

您可以通過添加return false;代替注釋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/

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

重要的是return false; onclick屬性上。 這指示瀏覽器單擊后立即取消此鏈接。 因此,將執行javascript,但不會遵循該鏈接。

HTML標記內不能包含HTML注釋,因為注釋本身就是標記。

您可以從事件處理程序中返回false ,以防止瀏覽器跟蹤該鏈接:

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

在看到其他用戶說注釋不能包含在元素屬性中之后,我開始想知道為什么。 當然,這是一個不好的做法,但是為什么不起作用呢?

我檢查了HTML5注釋HTML4.01注釋的規范,答案在4.01規范中:

請注意,注釋是標記

<! 注釋的一部分僅打開一個聲明,然后>關閉。 --字符串將聲明標識為注釋。 將注釋語法與doctype聲明和CDATA節進行比較時,這一點變得顯而易見。

因為您不能在屬性值內放置聲明(我無法在規范中找到明確聲明的內容,但似乎很明顯),因此注釋不能包含在屬性值中。

有趣的是, HTML5注釋部分沒有提到“注釋是標記”注釋。 但是,我認為相同的規則仍然適用。

如果有任何錯誤,請隨時發布更正。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM