0

代码

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

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

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

4

3 回答 3

3

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

根据你的jsfiddle。

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

jsfiddle 更新了

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

jsfiddle

或者,如果您想按照自己的方式进行操作,我会对其进行一些更改。您可以使用 onclick 而不是在 href 中调用 javascript。我会使用函数表达式 ( foo = function(){}) 而不是函数声明 ( function foo(){})。这里还有更多内容

jsfiddle

替代:

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

jsfiddle

于 2013-05-14T01:02:13.607 回答
2

打开 firebug(Firefox) 或 Inspect Element(chrome),切换到“Net”选项卡,然后刷新页面,现在您可以看到“img/star.png”文件是否成功加载。

如果显示“404 Not Found”,则此图像的路径错误;如果显示“403 Forbidden”,则说明此镜像的权限不合适,请确保 nginx/apache 用户可以读取。

于 2013-05-14T00:53:09.520 回答
1

很抱歉成为那个说“你应该这样做”的人,而不是拼凑一些 CSS 的 jquery 连接。您可能只想创建一个 CSS 类,然后使用 jquery 切换它。这将导致更清晰的执行和更可测试的代码,因为现在您正在分离职责。

于 2013-05-14T01:22:05.087 回答