我有这样的清单:
<ul>
<li><a...>...</a></li>
<li>...</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
其中两种类型的元素都以任意顺序存在多次.有没有办法格式化这些李的不同?(不同的list-style-image)唯一的区别是一种包含链接而另一种不包含链接.
不,CSS中没有办法根据子元素指定选择器.
您必须添加一些东西来区分li元素本身,就像li包含链接的所有元素上的类一样.
如果可以使用jquery,则可以将类添加到li包含锚标记的元素中:
$('li:has(a)').addClass('linkItem');
Run Code Online (Sandbox Code Playgroud)
非jQuery解决方案可能如下所示:
var items = document.getElementsByTagName('LI');
for (var i=0; i<items.length; i++) {
if (items[i].getElementsByTagName('A').length > 0) {
items[i].className = 'linkItem';
}
}
Run Code Online (Sandbox Code Playgroud)