javascript - jQuery.clone() 一个元素,然后给它添加动态样式

标签 javascript jquery html css

假设我有一张图片,cat.jpg,点击后我想克隆它。

$('img.cat').on("click", function() {
  $(this).clone().appendTo('#container');
});

但是,在复制时,我希望新的 cat.jpg 显示为原始大小的一半。我希望每次单击新的 cat.jpg 时都继续发生这种情况。

关于如何实现这一点有什么想法吗?甚至可以通过 .clone() 注入(inject)新的样式/类/参数吗?

最佳答案

这听起来像是您所追求的:

// If all images are within #container, use $("#container") instead:
$(document).on("click", "img.cat", function () {
    var original = $(this);
    original.clone().css({
        width: original.width() / 2,
        height: original.height() / 2
    }).appendTo("#container");
});

fiddle :http://jsfiddle.net/G6XTz/

当然,您可能希望新添加的图像是最后一张猫图像的一半大小,而不是单击的猫图像:

Fiddle2:http://jsfiddle.net/G6XTz/1/

警告:

宽度和高度只能划分到此为止;最终你会遇到一些问题。最好先检查除法的结果,然后在有意义的时候决定做其他事情。

关于javascript - jQuery.clone() 一个元素,然后给它添加动态样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20940876/

相关文章:

php bool 运算导致500错误

Android 与 HTML5 交互教程?

javascript - 如何理解 Grunt 任务选项

jquery - 需要帮助设置 cometd 代码

javascript - 如何检查 div 是否具有具有特定值的特定 css 属性?

javascript - 选择文本等于的 div

audio - 在Web应用程序上使用HTML 5播放声音

javascript - 在提取调用中将响应主体与自定义错误一起抛出

javascript - 如何在 Javascript 中动态生成只有 1 个 div 的多彩圆圈

javascript - 需要正则表达式来删除除 img 标签之外的两个 HTML 标记之间的/>