我有一些这样的文字:
Once upon a time, <div class="light">there lived</div> a cat.
The <div class="light">cat liked</div> to watch fish swim.
我需要在<div>
中添加一些文字,例如<div class="hidden_when_inside">text</div>
如果放在<div class="light">
内,则会隐藏,但在外面时不会被隐藏。 E.g:
Once upon a time, <div class="light">there <div class="hidden_when_inside">this text is invisible</div> lived</div> a cat.
The <div class="light">cat liked</div> to watch <div class="hidden_when_inside">this text is visible</div>fish swim.
同样,<div class="hidden_when_outside">
中的某些文字只会在<div class="light">
之外隐藏。
隐藏的意思是:
有没有办法隐藏或显示文字,具体取决于它是否出现在另一个<div>
内?
答案 0 :(得分:3)
答案 1 :(得分:2)
这可以使用纯粹的css使用子选择器>
来完成(注意这只会影响直接的孩子,所以如果用例是.hidden_when_inside
可以嵌套在{{1}内的几个层然后去.light
)
.light .hidden_when_inside
.light > .hidden_when_inside{
display:none
}
答案 2 :(得分:1)
如果您想稍后再显示它,您需要深入了解JavaScript,例如:
document.getElementByTagName('hidden_when_inside').onclick = function() {
var className = ' ' + myButton.className + ' ';
this.className = ~className.indexOf(' active ') ?
className.replace(' active ', ' ') :
this.className + ' active';
}