格式li包含与li不同的链接,不包含链接

Flo*_*Flo 3 css hyperlink

我有这样的清单:

<ul>
 <li><a...>...</a></li>
 <li>...</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

其中两种类型的元素都以任意顺序存在多次.有没有办法格式化这些李的不同?(不同的list-style-image)唯一的区别是一种包含链接而另一种不包含链接.

Guf*_*ffa 6

不,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)