2012-11-12 21 views
2

我使用jCarousel動態加載文本文件中的項目。但我想添加一個鏈接,取決於圖像ID到旋轉木馬,所以我使用正則表達式來計算圖像文件名並從那裏。這一切工作正常,但我發現了以下錯誤:jQuery/Javascript的正則表達式錯誤,但作品

TypeError: Cannot read property '1' of null [http://localhost:64479/TestPage_ToolTips.aspx:71] 

70號線和71:

var testRE = url.match("t_(.*).jpg"); 
     return '<a href="viewprofile.aspx?id=' + testRE[1] + '"><img src="' + url + '" width="75" height="75" alt="" /></a>'; 

我猜錯誤與testRE[1] - 但它是在正常工作它加載頁面時的HTML。我只是不想在頁面上出現javascript錯誤。

感謝

+0

你知道是什麼原因引起的問題,你到底在問什麼? – gdoron

回答

3

你的代碼改成這樣:

var testRE = url.match("t_(.*)\.jpg") || [undefined, ""]; 

你應該擺脫錯誤的。注意文件名正則表達式中的轉義點分隔符。

問題實際上與您預期的一樣。 testREnull因此你不能訪問它的數組元素。這是由於你的字符串不匹配。生成的網址是否正確符合您的要求。

+1

其實''「」,「」]'。否則''「undefined」'將是id而不是'「」' – andlrc

+0

@NULL:謝謝...我的壞。我糾正了它,但有點不同,可以消耗更少的內存。 –