2016-07-21 4 views
0

URLを抽出し、マウスオーバーでイメージスワップを実行するために現在以下のスクリプトが使用されています。しかし、私は現在、キャッチされないタイプのエラーを取得しています:Uncaught TypeErrorに関する修正:未定義のプロパティ 'substr'を読み取ることができません

cannot read property 'substr' of undefined

コードは次のとおりです。

<script> 
jQuery(document).ready(function(){ 
    jQuery('.hover_box_wrapper').mouseenter(function(){ 
     var img_src = jQuery(this).parent().parent().parent().find('.hover2 img').attr('src'); 
     var img_src_s= img_src.substring(0,img_src.lastIndexOf("?")); 
     var img_href = jQuery(this).parent().attr('href'); 
     var img_src_set = jQuery(this).parent().parent().parent().find('.hover2 img').attr('srcset'); 
     var src = jQuery('.center123').find('img').attr('src'); 
     var res = src.split(" "); 
     var src_first = res[0]; 
     src_first = src_first.substring(0,src_first.lastIndexOf("?")); 

     jQuery('.center123').find('img').attr('src',img_src_s); 
     jQuery('.center123').find('img').attr('srcset',src_first); 

     //var img_html = jQuery('.center123').find('.vc_single_image-wrapper').html(); 
     //jQuery('.center123').find('.vc_single_image-wrapper').html(''); 
     jQuery('.center123').find('.vc_single_image-wrapper').html('<a href="'+ img_href + '"><img src="'+ img_src_s+'" srcset="'+ src_first +'" /></a>'); 
    }); 
}); 

+0

。 –

+0

こんにちは、私は簡単なリファレンスのためにここにページソースを保存しました:http://dev.thesuit.sg/lcattertonasia/page-source.html –

+0

@BentoSet、以下の答えを見つけてください、あなたの問題はかなり簡単です、コードにもっと注意を払うだけで、コードをデバッグする方法を学ぶ必要があります。 – Farside

答えて

0

あなたがデバッグするよ場合は、エラーは、コードのこの部分では、ここに隠されていますラインによってそれ行:場合

var src = jQuery('.center123').find('img').attr('src'); 
var res = src.split(" "); 
var src_first = res[0]; 

要素がありませんあなたはundefinedの値がsrc_first変数に格納されていることに等しい、src属性が見つかりません。

res[0]に保存されている結果を追加で確認する必要があります。 split(" ")はタイプ{String}でのみ動作し、undefinedには適用できません。

最も簡単な追加のチェックは次のようにコード化することができる:デバッグするために、あなたのHTMLコードを見て、それを修正する必要があり

// ... 
var src = jQuery('.center123').find('img').attr('src'); 
if (! src) { // <== here's the additional check, the simplest case possible 
    return; 
} 
var res = src.split(" "); 
var src_first = res[0]; 
// ... 
+0

こんにちは、私は開発者ではないと申し訳ありませんjquery ....に精通していない私の質問を見ていただきありがとうございます。問題を解決するために何をする必要があるのか​​分かりますか? サイトは開発サイトにあったときに正常に動作していました。 http://dev.thesuit.sg/lcattertonasiaしかし、実際のサーバーに移植された時点では動作しません –

関連する問題