如果项目中有另一个<ul>,则如何为列表项提供样式,否则样式应该不适用?</ul>

时间:2010-01-05 05:23:53

标签: jquery html css xhtml css-selectors

如果项目中有另一个列表,如何给列表项目赋予样式,否则样式不应该适用?仅使用css。

请参阅此处示例http://jsbin.com/udora

我想删除除“文章”和“投球过第7局”之外的所有其他项目中的箭头

我意识到使用css的css任何工作jquery解决方案都不可能吗?

3 个答案:

答案 0 :(得分:2)

CSS中可用的内容(CSS-2正是如此)..是descendant selector ..这是其他人一直在建议你的... 那也是from where(link)你想出了这个想法..

您搜索的想法被称为.. Ascendant selector ..(其中包含中特定元素的元素)  遗憾的是CSS-2没有提供它,但它已经在CSS-3中提出过了。
无处不在,他们建议使用类和Ids作为替代方案(这是更痛苦的东西......在设计和维护点上查看..)...最终证明这是CSS-2的障碍..

答案 1 :(得分:1)

您可以使用ul id并执行类似的操作,

#sitemap>li>li {
    type: apply-style;
}

修改

#sitemap&gt; li表示id =“sitemap”的元素的li子元素 类似地,#sitemap&gt; li&gt; li表示id为#sitemap的元素的li子元素的li子元素。

详细了解css选择器here

<强> EDIT2:

实际上,因为第二个li必须在第二个ul之下,

#sitemap>li>ul>li {
}

请记住&gt;指直接孩子。

注意:这在IE6中无效。

答案 2 :(得分:0)

您无法根据所需元素的后代编写css规则。

但您可以尝试将样式应用于内部ul,例如

li ul { foo: bar }

或者如果您不需要申请'文章'那么

li li ul { foo: bar }

或者,在jquery中你可以说

$('li:has(ul)').css('foo', 'bar');