我一直在编写一个应用程序,该应用程序使用以下代码来检测存储在bgimg变量中的URL中是否存在-size参数。

原因是有许多返回的空值,并且由于它正在寻找size参数,因此代码通常会陷入错误循环中,无法读取indexOf null属性。

最终目标是在bgimg变量为null时动态替换它。

我做了一些研究,发现最简单的解决方案是使用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 + ')');
}


任何有关如何解决此难题的帮助或建议,将不胜感激!

最佳答案

你为什么不做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 + ')');
}

09-25 20:03