我有一个有点不寻常的问题。我做过很多次这样的事情:
$('#selector').css('color','#00f');
我的问题是我创建了一个<div id="selector">
,我调用了上面的命令,它工作正常。
现在,在稍后的另一个事件中,我从DOM中删除了该元素,并在稍后使用相同的 id 再次添加它。这个元素现在没有color:#00f
.
有没有办法可以在 CSS 中添加规则,这样它会影响将来使用相同id
/创建的项目class
?我喜欢jQuery,但任何使用纯 JavaScript 的东西都可以。
它必须是动态的,而且我不知道要放入 CSS 文件中的类。此外,我计划在整个应用过程中多次更改单个属性。例如,设置color
to black
、 to blue
、 tored
和 back to black
。
我接受了@lucassp的回答,这就是我最终得到的结果:
function toggleIcon(elem, classname)
{
if($(elem).attr('src')=='img/checkbox_checked.gif')
{
$(elem).attr('src', 'img/checkbox_unchecked.gif')
//$('.'+classname).hide();//this was the old line that I removed
$('html > head').append($('<style>.'+classname+' { display:none; }</style>'));
}
else
{
$(elem).attr('src', 'img/checkbox_checked.gif')
//$('.'+classname).show();//this was the old line that I removed
$('html > head').append($('<style>.'+classname+' { display:block; }</style>'));
}
}
我还想说@Nelson可能是最“正确的”,尽管它需要更多的工作才能进入始终运行良好的应用程序代码,而这不是我目前想要花费的精力。
如果将来我必须重写这个(或写类似的东西),我会研究detach()
.