2016-07-21 28 views
0

下面的腳本當前用於提取URL並在mouseover上執行圖像交換。不過,我目前得到未捕獲的錯誤類型:修復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

需要看到你的HTML代碼,以調試和修理。 –

+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]; 

的情況下,有沒有元素找到的屬性中找不到src,這等於undefined值存儲在src_first變量中。

您需要對結果進行額外的檢查,結果存儲在res[0]之內。 split(" ")只適用於{String}類型,不適用於undefined

最簡單的額外的檢查可以被編碼,如:

// ... 
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,但現在它不能工作,現在移植到實際的服務器上 –

相關問題