所以,我有一个元素,它有一些“预先存在的”行为。因此,我发现仅仅按某些新需求的要求移动它就可以保留现有的行为=好。但问题是,当我移动元素时,我需要给它“新样式”。
所以,如果我有这样的东西
<div id="existingStructure">
<div id="legacyElement"></div>
</div>
现在,这两个都有预先存在的样式。我可以重新整理这些样式等等。但我改变不了他们。样式被附加到“id”,而不是类定义。我相信如果需要的话我可以改变这一点。
现在,当某个“新div”发生某些事情时,我需要移动"legacyElement“。我只是
jQuery('#newStructure').append('#legacyElement');
<div id="newStructure">
<div id="legacyElement"></div>
</div>
不幸的是,我在newStructure上的风格似乎并不适用于*legacyElement,“当它被动态移到这里时。
我正在考虑将所有样式移动到一个类中,而不是与it相关联,并且当我移动它时。我只是jQuery().addClass / jQuery().removeClass等等.
有没有一种更好/更简单、更健壮的方法,可以让legacyElement在existingStructure下释放其样式,然后在移到"newStructure“时获得新的样式等等。反之亦然。那个元素"legacyElement“会来回敲击。因此,我需要它在每个父div下的样式,因为它去那里。
所以当一个动作出现在页面上时,我把它移回来:
jQuery('#existingStructure').append('#legacyElement');
如果我不够简洁,请告诉我。
现有样式位于外部CSS文件中,如下所示。
#existingStructure {
// bunch of css
}
#existingStructure .item1 input[type="text"] {
// bunch of css
}
#legacyElement{
// bunch of css
}
新的样式也是一样的,除了“附加样式”可能会被应用。
#newStructure {
// bunch of css
}
#newStructure .item1 input[type="text"] {
// bunch of css
}
发布于 2013-02-18 21:21:26
当然,您可以通过他们的父母来定位您的div样式:
#existingStructure #legacyElement {some styles}
#newStructure #legacyElement {some other styles}
为了进一步解释,这种安排应该会产生更大的特异性,覆盖简单地应用于#存在结构或#legacyElement的样式。我希望没有人做过像吸毒这样愚蠢的事!对他们很重要。
发布于 2013-02-18 21:28:11
简短的回答:应该的。
下面是我用jsFiddle快速制作的一个例子:http://jsfiddle.net/CCm4J/1/
那为什么不是你的?很可能您的css规则是嵌入的,这些规则仅在existingStructure
id/类中应用?没有看到更多你的css,我不知道我能得到多具体。我只需验证您的css规则是否允许在existingStructure
之外应用(甚至existingStructure
也可能为它的父级应用规则!)
https://stackoverflow.com/questions/14945455
复制相似问题