我想要完成的是:
我有一个有多个孩子的父div。我不想只显示父项的子项。如果我这样做:
.navbar-default, #filters, #options {
display: none;
}
div#filter_date {
display: block;
}
然后它只是没有显示带有子节点的父div。
我试图让问题尽可能简单。
答案 0 :(得分:1)
您无法按照预期的方式完成此操作,因为样式是继承的。
您唯一的解决方案是覆盖父级的打印样式以给出隐藏的印象,例如将任何边框设置为无,删除任何背景颜色或图像,删除填充,边距等。采取您拥有的任何样式应用于父级,并在您的打印CSS中使用属性覆盖它们,这些属性将提供父级不适用的幻觉。
否则,您只是尝试使用CSS更改DOM的结构,这是不可能的。
答案 1 :(得分:0)
改编自jQuery自己的例子......
<div class="yellow">
<p class="in-out">Am I in the </p>
<p class="in-out">div or out</p>
<p class="in-out">the div</p>
</div>
....
<button>Toggle</button>
---JS---
var pTags = $( ".in-out" );
$( "button" ).click(function() {
if ( pTags.parent().is( ".yellow" ) ) {
pTags.unwrap();
}
else {
pTags.wrap( "<div class='yellow'></div>" );
}
});
....
---CSS---
.yellow
{
background-color: yellow;
}
请参阅此处示例... http://jsfiddle.net/richf/8LvJZ/
显然你不需要你的按钮。