这是一个假设的问题 - 我实际上在做的不是改变元素的颜色 - 我一直在试图弄清楚当我克隆一个元素然后追加那个元素时发生了什么后来的元素 - 我认为会发生的事情本质上是一个复制/粘贴 - 但它并不是那样 -
我有一个元素.foo
我要克隆那个我以后可以使用的元素
var $clone = $('.foo').clone();
然后我对原始元素做了一些事情
$('.foo').css({'color', 'red'});
然后无论出于何种原因,我需要销毁原始.foo并将其替换为克隆:
$('.foo').replaceWith($clone);
然后我想对新元素进行更改:
$('.foo').css({'color', 'red'});
但这不起作用?
答案 0 :(得分:4)
它不起作用,因为您的.css()
语法错误。当您将对象传递给该方法时,您必须使用冒号来分隔属性和值,就像在JSON中一样:
$('.foo').css({'color':'red'});
要使用逗号,请删除大括号:
$('.foo').css('color', 'red');