我有一个有点不寻常的问题。我做过很多次这样的事情:
$('#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()
.