【发布时间】:2012-01-08 20:24:55
【问题描述】:
我正在尝试从以下标记中定位 ol.sc-tracklist
<ul id="sc-track-list">
<li class="sc-track format-audio">
<div class="sc-player">
<ol class="sc-artwork-list">
<li class="sc-time-indicators">
<span class="sc-position">0.00</span>
¦
<span class="sc-duration">2.38</span>
</li>
<li class="sc-controls">
<a class="sc-play" href="#play">4</a>
<a class="sc-pause" href="#pause">5</a>
</li>
<li class="sc-track-artwork active">
<div class="sc-no-artwork">
</li>
</ol>
<ol class="sc-trackslist">
<li class="sc-info">
<h3 class="sc-track-title">
<a href="http://soundcloud.com/jillian02/gently">Gently</a>
<a class="sc-info-toggle button" href="#info">
more
<span class="icon">i</span>
</a>
</h3>
<div class="sc-more-info">
<h4>
by
<a href="http://soundcloud.com/jillian02">Jill Owen</a>
</h4>
<p class="remove-bottom">solo piano music</p>
</div>
<footer></footer>
</li>
<li class="active">
<span class="sc-track-state"></span>
<a href="http://soundcloud.com/jillian02/gently">Gently</a>
<a href="null">
<span>Buy</span>
<span class="icon">}</span>
</a>
</li>
</ol>
</div>
<div class="meta">
<p>
<a class="spch-bub-inside" href="#">
<span class="point"></span>
<em>23</em>
</a>
</p>
</div>
</li>
</ul>
我试过了
.sc-track.format-audio .sc-player .sc-tracklist
和
.sc-track.format-audio div.sc-player ol.sc-tracklist
但没有快乐。
内容是从 jquery json 响应动态生成的,我想知道这是否有任何影响。
有什么想法吗?非常感谢
【问题讨论】:
-
A
div不是ul或ol的有效子代,如果您必须在其中使用div一个列表,将其放在li元素中(ul或ol的 only 有效子元素)。 -
谢谢大卫,我可以看到 html 结构有点差。这会影响 css 的特异性吗?
-
是的,应该;浏览器倾向于重组损坏的 html 以使 DOM 有效(或尽最大努力使其有效)。他们如何处理这个问题通常是未指定的,也是不可预测的。它可能会也可能不会涉及将节点从一个地方移动到另一个地方,从而导致您的 CSS 选择器不再足够具体或准确。
-
很高兴知道,我会尝试清理一下
标签: html css css-selectors