CSS: match a tag not containing another one

http://stackoverflow.com/questions/23427173/how-to-match-a-tag-not-containing-another-one?noredirect=1#comment35902829_23427173

by Stephane de Luca

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/1.7.0/less.min.js"></script>
Two-level nesting:

<ul>
    <li class="compact">Grain&nbsp;:
        <ul>
            <li>Baisse du rendement</li>
            <li>Sénescence plus rapide la plante</li>
            <li>Sensibilisation accrue à la fusariose des tiges</li>
        </ul>
    </li>
    <li>Baisse du rendement</li>
    <li>Sénescence plus rapide la plante</li>
</ul>

One level:
<ul>
    <li>Baisse du rendement</li>
    <li>Sénescence plus rapide la plante</li>
    <li>Sensibilisation accrue à la fusariose des tiges</li>
</ul>

CSS

ul { 
	&>li {
		&:after {
			content: " ;";
		}
		&:last-child:after {
			content: ".";
		}
	
		&>ul { 
			li:after {
				content: " (end)";
			}
			li:last-child:after {
				content: " (final end)";
			}
		}
	}
}

JavaScript

(function(){ $('head style[type="text/css"]').attr('type', 'text/less');less.refreshStyles(); })()