jquery。单击 div,获取 div 的 id 并将该 id 用作 jquery .css ("background-image"的一部分

标签 jquery

这里是示例 http://jsfiddle.net/apye01n0/6/

首先是html

<div id="large_photo" style="width:100px; height:100px;" > To show one large photo </div>

<div id="base_64_string0" class="thbn_photo" style="float:left; 
background-color: #b0c4de; height: 50px; width: 50px; margin: 0 3px 3px 0; "></div>

想要点击class="thbn_photo",获取id的值并使用下面的jquery代码中的值。我已经定义了 jquery 变量,变量名称是单击的 id 的值。

这是 jquery 变量

base_64_string0 = 'R0lGODlhRgAzAJE..';

这是剩余的 jquery 代码

$(document).on('click', '.thbn_photo', function(){
alert( this.id );

//$("#large_photo").css("background-image", "url('data:image;base64," + base_64_string0 + "')");//This works
$("#large_photo").css("background-image", "url('data:image;base64," + this.id + "')");//This does not work

});

点击 alert( this.id ); 我看到 base_64_string0

所以我希望如果我在 url('data:image;base64,"+ this.id + "') 中插入 this.id 我会得到相同的结果as url('data:image;base64,"+ base_64_string0 + "'.

使用 url('data:image;base64,"+ base_64_string0 + "') 一切正常(我手动编写变量名称 (base_64_string0))。

但是 url('data:image;base64,"+ this.id + "') 不起作用。在生成的源代码中,请参阅 background-image: url("data:image;base64,base_64_string1");">。如何使此代码正常工作?

最佳答案

您希望使用 id 参数作为变量名称。这是错误的。

img = {
    base_64_string0 : 'R0lGODlhRgAzAJE..'
}

"url('data:image;base64," + img[this.id] + "')"

http://jsfiddle.net/apye01n0/15/

关于jquery。单击 div,获取 div 的 id 并将该 id 用作 jquery .css ("background-image"的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28403297/

相关文章:

jquery - 可滚动容器内的粘性 header

jquery - 如何使 jQuery Mobile 属性 XHTML 有效

jquery - 日期选择器不工作

javascript - 在 URL 重写期间阻止 IE/FF 处理 anchor ?

jquery - 使用轻量级延迟加载插件 Unveil 时遇到问题。

javascript - 在 jQuery 中处理无限加载,无法让 Load 函数仅加载一次

javascript - jQuery:带有单引号的 td 内容在传递给模态时被 chop

jquery - Scrapy .css 仅选择没有属性的 div 元素

jquery - 使用 jquery 从数组列表中添加和删除数组项

javascript - Node.js 模块加载