如果没有strong
仅使用CSS
ul
代码
<div class="lower lts-blue">
<strong>Interest Focus</strong>:
<br/>
<strong>Skills</strong>:
<ul id="dnn_ctr2446_View_blSkills" class="tags">
<li><a href="">Observing</a></li><li><a href="">Comparing & Contrasting</a></li>
</ul>
<br/>
<strong>Type</strong>:
<ul id="dnn_ctr2446_View_blType" class="tags">
<li><a href="">Exemplars</a></li>
</ul>
</div>
答案 0 :(得分:0)
试试这个
div.lower > strong{
display: none; /* or visibility: hidden; */
}
>
选择器用于选择直接子项。如果div具有strong
的直接子项,则该元素将被隐藏,但不会隐藏strong
标记内的ul
元素。
有关详细信息,请查看此link。
<强>更新强>:
如果您想隐藏strong
元素,如果ul
中没有div
标记,则可以使用javascript动态完成。
的Javascript
var div = document.getElementsByClassName('lower')[0];
var ul = div.getElementsByTagName('ul');
var strong = div.getElementsByTagName('strong');
if(!ul[0]){
for(var i=0; i < strong.length; i++){
strong[i].className += " dynamicStrong";
}
}
CSS
.dynamicStrong{
display: none; /* or visibility: hidden; */
}
在上面的代码中,我向dynamicStrong
元素添加了一个类strong
,当且仅当ul
元素中没有div
个标记时。
检查ul
中是否有div
个标签是使用javacript代码中的if(!ul[0])
完成的。
您还可以在for循环中使用javascript添加内联样式,
strong[i].style.display = "none";
我不喜欢上述方法,因为它为指定的元素创建了内联样式,并且还覆盖了以前的css属性。