если вы можете добавить дополнительную обертку (например, элемент span), вы можете использовать селектор :only-child
(или :first-child:last-child
)
Я сохранил только соответствующие стили для демонстрации
.directory-w ul {
list-style-type: none;
margin: 0;
padding: 5px;
margin-left: 30px;
}
.directory-w ul li {
color: #757575;
font-size: 20px;
}
.directory-w ul li span:only-child {
font-weight:normal;
font-size:17xp;
}
.directory-w>ul>li>ul>li {
font-weight: bold;
}
.directory-w ul ul li {
font-weight: normal;
font-size: 15px;
}
<div class="directory-w">
<ul>
<li>List item 1 (BOLD 20)
<ul>
<li><span>Subitem 1 (BOLD 18)</span>
<ul>
<li>Sub Subitem 1</li>
<li>Sub Subitem 2</li>
<li>Sub Subitem 3</li>
<li>Sub Subitem 2</li>
</ul>
</li>
<li><span>Subitem 2</span>
<ul>
<li>Sub Subitem 1</li>
<li>Sub Subitem 2</li>
<li>Sub Subitem 3</li>
<li>Sub Subitem 2</li>
</ul>
</li>
</ul>
</li>
<li>List item 2 (BOLD 20)
<ul>
<li><span>Subitem 1</span></li>
<li><span>Subitem 2</span></li>
</ul>
</li>
<li>List list 3 (BOLD 20)
<ul>
<li><span>Subitem 1</span></li>
<li><span>Subitem 2</span></li>
</ul>
</li>
</ul>
</div>
Вот небольшой код jQuery для автоматического добавления дополнительной оболочки:
$('ul > li > ul > li:has(ul)').each(function() {
$(this).contents().eq(0).wrap('<span></span >')
})
.directory-w ul {
list-style-type: none;
margin: 0;
padding: 5px;
margin-left: 30px;
}
.directory-w ul li {
color: #757575;
font-size: 20px;
}
.directory-w ul li ul span {
font-weight:bold;
font-size:17xp;
}
.directory-w ul ul li {
font-weight: normal;
font-size: 15px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="directory-w">
<ul>
<li>List item 1 (BOLD 20)
<ul>
<li>Subitem 1 (BOLD 18)
<ul>
<li>Sub Subitem 1</li>
<li>Sub Subitem 2</li>
<li>Sub Subitem 3</li>
<li>Sub Subitem 2</li>
</ul>
</li>
<li>Subitem 2
<ul>
<li>Sub Subitem 1</li>
<li>Sub Subitem 2</li>
<li>Sub Subitem 3</li>
<li>Sub Subitem 2</li>
</ul>
</li>
</ul>
</li>
<li>List item 2 (BOLD 20)
<ul>
<li>Subitem 1</li>
<li>Subitem 2</li>
</ul>
</li>
<li>List list 3 (BOLD 20)
<ul>
<li>Subitem 1</li>
<li>Subitem 2</li>
</ul>
</li>
</ul>
</div>