2011-02-28 29 views
0

我使用了真棒jQuery Cycle PluginpagerAnchorBuilder構建了一些尋呼機項目,因此用戶可以在圖像之間切換。JQuery Cycle Plugin不會驗證(pagerAnchorBuilder)

這是我的代碼。

jQuery(function() { 
     jQuery('#slider<?php the_ID(); ?>').cycle({ 
      fx:  'fade',//scrollDown 
      pager: '#bullets<?php the_ID(); ?>', 
      pagerAnchorBuilder: function(idx, slide) { 
       return '<a href="#">&</a>'; 
      } 
     }); 
    }); 

所有的工作還不錯,除了由事實return部分給了我一些問題W3C Validator ..

92行,第31列:文檔類型不允許元素「一「這裏

   return '<a href="#">&</a>'; 

上面指定的元素是在不允許的上下文中找到的。這可能意味着>你錯誤地嵌套了元素 - 比如「body」>部分中的「style」元素,而不是內部「頭部」 - 或者兩個重疊的元素(這是不允許的)。

此錯誤的一個常見原因是在HTML文檔中使用XHTML語法。由於>隱式封閉元素的HTML規則,此錯誤可能會產生級聯效應。例如,對HTML文檔的「head」部分中的「meta」和「link」使用XHTML的「自關閉」標記可能會導致解析器推斷「head」部分的結束和> 「身體」部分(其中「鏈接」和「元」不允許;因此>報告的錯誤)。

我的DOCTYPE要:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

非常感謝,如果有人曾經做過一個關於爲什麼發生這種情況的線索......

+0

如果我將文檔類型更改爲4.01嚴格,錯誤消息更改爲:「未打開的元素」A「的結束標記」,如果這更清晰一點問題 – Peanuts 2011-02-28 18:09:44

回答

1

它只是認爲你試圖插入腳本中的錨元素標記(或.js文件),它是無效的。只要忽略它,並記住驗證不是一切。你的主要目標是確保它的工作。

編輯:如果你想獲得一個完美的驗證,甚至遵循一些好的做法,可以使用以下命令:

return "&lt;a href='#'&gt;&amp;&lta&gt;" 

它使用HTML實體。翻譯成html,這是<a href='#'>&<a>Here是一個簡單的html實體參考,如果你想了解更多。

+0

嗨Zirak,謝謝,這是令人放心的。對於HTML也是一個好主意,Validator會傳遞所有的代碼,雖然現在HTML實體似乎無法與循環插件一起工作,但錨點消失了。 – Peanuts 2011-02-28 19:07:30

+0

你把我放在正確的軌道上:http:// www .htmlhelp.com/tools/validator/problems.html#script因爲驗證器可以讀取腳本標籤內的HTML標籤,但不是開放標籤,所以我必須避免將字符串解析爲HTML,並使用反斜槓\。最終代碼:返回'&<\/a>';驗證和工作。 – Peanuts 2011-02-28 19:16:59

+0

沒問題!很高興你在最後得到它。 – Zirak 2011-03-01 13:02:33