代码:
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。
编辑:您可以尝试像这样在 jQuery 中编写所有内容:
或者,如果您想按照自己的方式进行操作,我会对其进行一些更改。您可以使用 onclick 而不是在 href 中调用 javascript。我会使用函数表达式 ( foo = function(){}
) 而不是函数声明 ( function foo(){}
)。这里还有更多内容
替代:
如果您想通过类选择器应用背景(此处 url 在 css 中被硬编码),您可以这样做(这实际上是 Swordfish0321 所说的):
打开 firebug(Firefox) 或 Inspect Element(chrome),切换到“Net”选项卡,然后刷新页面,现在您可以看到“img/star.png”文件是否成功加载。
如果显示“404 Not Found”,则此图像的路径错误;如果显示“403 Forbidden”,则说明此镜像的权限不合适,请确保 nginx/apache 用户可以读取。
很抱歉成为那个说“你应该这样做”的人,而不是拼凑一些 CSS 的 jquery 连接。您可能只想创建一个 CSS 类,然后使用 jquery 切换它。这将导致更清晰的执行和更可测试的代码,因为现在您正在分离职责。