我在下面有HTML代码,并且有一些文本没有任何HTML环绕。是否有任何方法可以隐藏文字“输入”,它位于“p”标记之后?
<div class="entry">
<p class="page-header" style="text-align: center;"><strong>Enter</strong></p>
<p> </p>
Enter <-- i want to hide this text
<div class="subhead"></div>
</div>
不可能用div或任何其他标签包装它,所以我需要一些不同的决定,如JavaScript或一些CSS?
答案 0 :(得分:9)
我会考虑使用font-size的CSS hack:
.entry {
font-size:0;
}
.entry * {
font-size:initial;
}
<div class="entry">
<p class="page-header" style="text-align: center;"><strong>Enter</strong></p>
<p> somethin here</p>
Enter (this will be hidden !!)
<div class="subhead">another text here</div>
</div>
visibility
的另一个想法:
.entry {
visibility:hidden;
}
.entry * {
visibility:visible;
}
<div class="entry">
<p class="page-header" style="text-align: center;"><strong>Enter</strong></p>
<p> somethin here</p>
Enter (this will be hidden !!)
<div class="subhead">another text here</div>
</div>
答案 1 :(得分:0)
很抱歉迟到的回复,但您可以通过jquery
来完成此操作。只需获取div的所有内容,过滤掉没有标签的内容,并将其包含在span
内,样式属性为display:none
。这将隐藏该文本。
$(".entry")
.contents()
.filter(function () {
return this.nodeType === 3 && this.nodeValue.trim() !== "";
}).wrap("<span style='display:none' ></span>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="entry">
<p class="page-header" style="text-align: center;"><strong>Enter</strong></p>
<p> </p>
Enter <!-- i want to hide this text-->
<div class="subhead"></div>
</div>
谢谢
答案 2 :(得分:-1)
你认为它会起作用
var ele =document.getElementsByClassName('entry')[0]
ele.removeChild(ele.lastChild)