Javascript JS删除类后类型的CSS第n个未更新
我创建了以下JSFIDLE: 以下是我正在使用的CSS:Javascript JS删除类后类型的CSS第n个未更新,javascript,css,Javascript,Css,我创建了以下JSFIDLE: 以下是我正在使用的CSS: .nested > .addable-group > div.active:nth-of-type(even) { background: blue; } .nested > .addable-group > div.active:nth-of-type(odd) { background: grey; } 简化布局: <div class="nested"> <div class
.nested > .addable-group > div.active:nth-of-type(even) {
background: blue;
}
.nested > .addable-group > div.active:nth-of-type(odd) {
background: grey;
}
简化布局:
<div class="nested">
<div class="addable-group">
<div class="active"><a href="#">remove 1</a></div>
<div class="active"><a href="#">remove 2</a></div>
<div class="active"><a href="#">remove 3</a></div>
<div class="active"><a href="#">remove 4</a></div>
</div>
</div>
我想做的是,如果单击任何“删除”链接,它们应该被隐藏,删除它们的“活动”类,并且交替的背景颜色应该保持一致。然而,我一直没能让它工作。如果我完全删除DOM元素,它就可以工作,但是简单地删除类就不行了
我不想完全删除DOM元素,因为在live应用程序中,它们包含表单字段,提交时会从DB中删除该元素的记录
有什么我遗漏的吗
编辑:作为一个快速而肮脏的解决方案,我最终只是将“已删除”项移动到组的底部::nth-of-type()
不查看类,它只查看元素类型。.addable group
的所有子元素都是div
元素,无论其中一个元素上是否有.active
类,都不会改变它是可添加组的第n个div
子元素的事实
如果只需要根据.active
类设置这些元素的样式,我担心您需要使用JS应用另一个类,而不是该类的样式。我更希望交替背景颜色能够轻松处理,而不是使用JS添加/删除类以获得准确的颜色。是否有其他选择器或方法纯粹使用CSS来实现这一点,或者我被降级为JS解决方案?@greetification:那么您可能运气不好,因为这根本不是:nth-of-type()
选择器的工作方式。我知道没有其他的纯CSS解决方案(除非你愿意尝试使用渐变,但我没有太多的经验)。是的,这会起作用,但我不想完全删除DOM元素,因为在live app中,它包含需要处理以删除的表单对象。
$(document).on("click", "a", function(event) {
var container = $(this).parent();
$(this).remove();
container.remove();
});
$(document).on("click", "a", function(event) {
var container = $(this).parent();
$(this).remove();
container.remove();
});