2015-12-22 25 views
1

我一直在編寫一個應用程序,它利用以下代碼來檢測存儲在bgimg變量中的URL中是否存在-size參數。檢測變量中存儲的URL中的字符串

原因是有很多返回的空值,因爲它正在尋找大小參數,通常代碼會卡住在錯誤循環中,說它無法讀取屬性indexOf null。

最終目標是在空值時動態替換bgimg變量。

我做了一些研究,我發現最簡單的解決方案是使用indexOf,但每當bgimg.indexOf(「 - size」)爲null時,它似乎都不接受它。


var bgimg = t[e]['art']; 
if(bgimg.indexOf("-size") != null){ 
    var bgimg = bgimg.replace('-size','-newsizePXxPX'); 
    var art = $('.art').css('background-image', 'url(' + bgimg + ')'); 
} 
else 
{ 
    var bgimg = "http://artfillerhere.jpg"; 
    var art = $('.art').css('background-image', 'url(' + bgimg + ')'); 
} 

任何形式的幫助或對如何解決這一困境的建議,將不勝感激!

+3

如果問題是'bgimg'爲null,那麼檢查if(bgimg!== null)'。 – JJJ

+0

@Juhana甚至只是'如果(!bgimg)' – taylorc93

+0

@Teemu這裏是一個例子:https://urlsdn.co/artworks-000072992430-cmqhvh-sizehere.jpg 上面的url是一個編輯。但問題是我正在尋找URL中「-sizehere」URL的特定部分。如果這是真的,我想運行第一個參數,如果它是假的,比我想只用一個不同的值替換空值。 –

回答

0

爲什麼不做bgimg && bgimg.indexOf("-size") != -1.indexOf()返回-1如果找不到字符串,或者返回找到的字符串的索引。

var bgimg = t[e]['art']; 
if(bgimg && bgimg.indexOf("-size") != -1){ 
    var bgimg = bgimg.replace('-size','-newsizePXxPX'); 
    var art = $('.art').css('background-image', 'url(' + bgimg + ')'); 
} 
else 
{ 
    var bgimg = "http://artfillerhere.jpg"; 
    var art = $('.art').css('background-image', 'url(' + bgimg + ')'); 
} 
相關問題