Javascript jQuery设置css背景图像

Javascript jQuery设置css背景图像,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在使用jQuery脚本动态设置背景,但是.css函数似乎不起作用。以下是脚本: $(document).ready(function () { $(".VociMenuSportG").each(function () { var fullHref = $(this).find('a').attr('href'); console.log(fullHref); var pos = fullHref.indexOf("IDSport=

我正在使用jQuery脚本动态设置背景,但是.css函数似乎不起作用。以下是脚本:

$(document).ready(function () {

    $(".VociMenuSportG").each(function () {

        var fullHref = $(this).find('a').attr('href');
        console.log(fullHref);
        var pos = fullHref.indexOf("IDSport=") + 8;
        console.log(pos);
        var sportNum = fullHref.substr(pos, 3);
        console.log(sportNum);
        var imageName;

        switch (sportNum.toString()) {

            case '523':
                imageName = "../Images/soccer_ball01.png";
                break;
            case '468':
                imageName = "../Images/soccer_ball01.png";
                break;
        }

        console.log(imageName);
        $(this).css('background-image', 'url (' + imageName + ')');

    });
});
脚本将遍历每个项目(VociMenuSportG),查找列表项目中链接的路径,然后设置列表项目的背景图像。脚本在没有错误的情况下成功运行,并且使用console.logs可以看到选择了正确的路径。但是背景图像根本不设置?我想知道我是否不知为什么错误地使用了.css函数

编辑


尝试将图像路径设置为绝对路径而不是相对路径,但仍然没有成功

使用该方法的正确形式是:

$(this).css( { 'background-image' : 'url(' + imageName + ')' } );

如果您创建了一把小提琴,我会给您提供更多信息来修复它。

您的问题是
url
)之间的空间。请删除它可以使用的空间

 $(this).css('background-image', 'url(' + imageName + ')');

我不确定出了什么问题,但首先试着设置另一个css属性,看看是否有效

例如: Css('边框','1px实心红色')

我还发现“url”和“(”之间有一个空格。也许这不起作用

如果没有:您是否尝试过从浏览器调试工具栏手动设置属性,以测试您使用的URL是否正确? 您在url中使用“../”这一事实让我感到怀疑。例如,css文件中经常使用../来指向/css到/images。但在这种情况下,您不在/css中。因此请尝试:“/images/soccer\u ball01.png”为例


(编辑:在写答案的时候,答案已经发布了,但是好吧,也许这会澄清下一次如何调试…)

建议:

您可以使用
background
代替
background image
,如下所示:

$(this.css('background','url('+imageName+'));

如果您检查该元素,它的样式中是否有
背景图像?您是否检查了该元素中的内容,并且在运行时没有任何控制台错误日志?不,没有,这就是为什么我得出结论,我可能使用了错误的函数,或者可能有特定的方式背景d-images必须在jQueryTheres中设置,没有错误日志,并且控制台输出向我显示所有变量都包含它们应该尝试的内容this
$(this).css({backgroundImage:'url(“+imageName+”)”)
你能做一把小提琴吗?@Barnee我已经清楚地把我的答案指定为建议。我不是来批评的。我已经提供了信息,我认为提供信息不是批评。