2013-03-27 73 views
0

我試圖讓icanhaz /小鬍子循環的工作,如在本answer定義,我得到在瀏覽器控制檯以下錯誤:icanhaz /鬍子循環(通過迭代元素)JS錯誤

Uncaught Error: Syntax error, unrecognized expression: <option value="1">First</option> 
         <option value="2">Second</option> 

唐不知道爲什麼。我好不容易纔發現這是導致問題的行:

ich.myTemplate(listOfStuff); 

這是我的全部代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/transitional.dtd"> 
<html> 
    <head> 
     <title>icanhaz.js demo</title> 
     <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script> 
     <script type="text/javascript" src="https://raw.github.com/HenrikJoreteg/ICanHaz.js/master/ICanHaz.js"></script> 
    </head> 
    <body> 

    <select id="mySelectBox"> 
    </select> 

    <script id="myTemplate" type="text/html"> 
     {{#stuff}} 
     <option value="{{key}}">{{desc}}</option> 
     {{/stuff}} 
    </script> 

    <script> 
     $(document).ready(function() { 

      var listOfStuff = {stuff: [ 
        {key: "1", desc: "First"}, 
        {key: "2", desc: "Second"} 
       ]}; 
      var x = ich.myTemplate(listOfStuff); 
      $("#mySelectBox").append(x); 
     }); 
    </script> 

</body> 
</html> 

感謝您的任何建議!

回答

2

最後我發現了錯誤。這是jQuery版本問題 - 1.9.1返回錯誤,1.8.3不是。比較這些演示:

爲1.9.1版本,看看JavaScript控制檯。

而且,如果我改變

<script id="myTemplate" type="text/html"> 
    {{#stuff}} 
    <option value="{{key}}">{{desc}}</option> 
    {{/stuff}} 
</script> 

<script id="myTemplate" type="text/html"> 
    {{#stuff}}<option value="{{key}}">{{desc}}</option>{{/stuff}} 
</script> 

爲1.9.1,它也能正常工作。


編輯:這是一個開啓issue on icanhaz/github。如果你願意,請幫助解決這個錯誤!

0
var listOfStuff = {stuff: [ 
        {key: "1", desc: "First"}, 
        {key: "2", desc: "Second"} 
       ]}; 
var html = ich.myTemplate(listOfStuff); 
$("#mySelectBox").append($(html)); 

試試嗎?

+0

我已經提供了所有正在執行的代碼。它與上述例子中的100%相同,並返回提到的錯誤。我不知道爲什麼。 – ducin 2013-03-27 17:01:32

+0

那麼在你追加它之前,你會使用美元語法來包裝你的html嗎? – calumbrodie 2013-03-27 21:43:15

+0

請看下面的答案。查看這些鏈接並在瀏覽器中運行它們。你能告訴我哪個jQuery版本使用上面的代碼嗎? – ducin 2013-03-27 21:53:05