检测存储在变量中的URL中的字符串

时间:2015-12-22 18:06:49

标签: javascript

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

原因是返回了很多空值,并且由于它正在查找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 + ')');  
}

非常感谢任何有关如何解决这一难题的帮助或建议!

1 个答案:

答案 0 :(得分: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 + ')');  
}