我想在display:none
块中获取一个元素,是否可能?
例如:
<div style="display:none" >
<h2>hi all</h2>
<p>abc</p>
</div>
我想在h2
中显示保留父div
的{{1}}。
有解决方案吗?
答案 0 :(得分:3)
display: none
的元素的所有后代元素。引用the CSS spec:
9.2.4'display'属性
无
此值导致元素不出现在格式化结构中(即,在可视媒体中元素不生成框并且对布局没有影响)。 后代元素不会生成任何框;元素及其内容完全从格式化结构中删除。 通过在后代设置'display'属性,无法覆盖此行为。
答案 1 :(得分:1)
使用您当前的HTML,这是不可能的。最好的办法是类似于以下内容
<div>
<h2>hi all</h2>
<div style="display: none;">
<p>abc</p>
</div>
</div>
答案 2 :(得分:0)
如果您需要检索一些隐藏的值,您可以使用JavaScript。只需在元素中添加一个唯一的id
并检索它的值即可。这是一个jQuery方式(没有任何document.ready()
东西):
<div style="display:none" >
<h2 id="show_me">hi all</h2>
<p>abc</p>
</div>
<script>
element = $('#show_me').html();
alert(element)
//Plain JS way would be something like this.
element_js = document.getElementById('show_me').innerHTML;
alert(element_js)
</script>
你本身并没有显示检索到的元素,但至少你能够显示它的内容,并用它做任何你喜欢的事情。实际上,我认为这将是获取隐藏元素中最接近的东西。