如果 ul 没有 li 子类,则向 ul 添加一个条件类



如果没有 li 子类,我如何有条件地将类添加到 ul 中?

我想使用语法

class=" @(myCondition == 1 ? "myClass" : "")"

这实际上是一个JavaScript条件,HTML/CSS无法运行它。相反,我们可以做的是使用脚本标签来使用 JavaScript 来运行条件。

class=" @(myCondition == 1 ? "myClass" : "")"

相反,可以使用文档对象模型使用 JavaScript 编写,以向元素添加类。

因此,您可以做的是将特定的ul设置为您在HTML中选择的id。

<ul id="example"> 

然后我们可以将 JavaScript 添加到<body>的底部

<script>
if(myCondition == 1){
var ex = document.getElementById("example");
ex.className += " myClass";
}
</script>

document.querySelectorAll(".ul").forEach(el => el.classList += el.children.length ? " hasChildren" : "")
.ul{
background: lightskyblue;
padding:1em;
color: white;
}
.hasChildren{
background-color: orangered;
}
<ul class="ul">
<li>Item</li>
</ul>
<ul class="ul">
</ul>

<ul id="example"></ul>
<script type="text/javascript">
jQuery( document ).ready( function ()
{
if ( jQuery( "#example" ).children().length == 0 )
{
jQuery( "#example" ).addClass("myClass");
}
})
</script>

最新更新