jquery - 无法使用 jQuery 更新背景图像

标签 jquery css

代码:

var imgurl = 'img/star.png';
$("#venueId-"+nid).css('background','url("'+imgurl+'") no-repeat top right');

这是点击时发生的函数的开始。期望的结果是图像 (img/star.png) 出现在 div 的右上角。不幸的是,当这个脚本出现时,什么也没有发生。

我仔细检查了图像的相对位置,将背景更改为渐变色时,这段代码没有遇到任何问题。

最佳答案

您的 html 有 id="venueId" 并且您正在调用 $("#venueID-")。它也被包装到一个函数中......你不会在任何地方调用该函数。

根据您的 jsfiddle。

所以我只是在你的 jsfiddle 中修复了这两件事,它现在可以工作了......我还将宽度和高度从 html 移动到 css。

jsfiddle updated

编辑:您可以像这样尝试用 jQuery 编写所有内容:

jsfiddle

或者如果你想按你的方式做,我会稍微改变一下。您也许可以使用 onclick 而不是在 href 中调用 javascript。我会使用函数表达式 (foo = function(){}) 而不是函数声明 (function foo(){})。 here is some more on that

jsfiddle

替代方案:

如果你想通过类选择器应用背景(这里 url 在 css 中被硬编码),你可以这样做(这实际上是 Swordfish0321 谈论的):

jsfiddle

关于jquery - 无法使用 jQuery 更新背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533284/

相关文章:

javascript - 在一个div中获取一个div

jquery - 如何从 SignalR 调用多个集线器方法

html - CSS GRID 垂直对齐文本,因此它不会离开容器

javascript - 仅以特定分辨率加载图像

javascript - 如何获得 onchange Javascript/jQuery 功能以运行 onload(在 <body onload> 中不起作用)

css - 需要使用 Bootstrap 创建如图所示的布局。如何放置所有字段?

javascript - 如何获取URL中 '#'之后的字符串

Jquery href anchor 值

javascript - DataTable - 响应式自定义断点

css - 在视口(viewport)中垂直和水平居中 Slick Slider