2

jCarouselを使用して、テキスト ファイルからアイテムを動的にロードしています。しかし、画像IDに応じてカルーセルにリンクを追加したかったので、正規表現を使用して画像ファイル名を計算し、そこから移動しています。すべて正常に動作しますが、次のエラーが発生します。

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エラーが表示されたくないだけです。

ありがとう

4

1 に答える 1

3

コードを次のように変更します。

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

そして、あなたはエラーを取り除くべきです。ファイル名の正規表現でエスケープされたドット区切り文字に注意してください。

問題は実際にはあなたが予想する通りです。testREしたがって、その配列要素にアクセスすることはnullできません。これは、文字列が一致しないためです。生成されたURLが正しいかどうかは、要件に応じて異なります。

于 2012-11-12T12:51:01.177 に答える