打印没有父div的特定div

时间:2014-05-02 08:19:58

标签: javascript jquery html css

我想要完成的是:

我有一个有多个孩子的父div。我不想只显示父项的子项。如果我这样做:

.navbar-default, #filters, #options {
display: none;
}
div#filter_date {
display: block;
}

然后它只是没有显示带有子节点的父div。

我试图让问题尽可能简单。

2 个答案:

答案 0 :(得分:1)

您无法按照预期的方式完成此操作,因为样式是继承的。

您唯一的解决方案是覆盖父级的打印样式以给出隐藏的印象,例如将任何边框设置为无,删除任何背景颜色或图像,删除填充,边距等。采取您拥有的任何样式应用于父级,并在您的打印CSS中使用属性覆盖它们,这些属性将提供父级不适用的幻觉。

否则,您只是尝试使用CSS更改DOM的结构,这是不可能的。

答案 1 :(得分:0)

嗯,我想你可以使用jQuery .unwrap,如果我理解你正在努力实现的目标。

改编自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/

显然你不需要你的按钮。