【发布时间】:2018-10-24 22:15:13
【问题描述】:
我有以下代码。 id 为“selected-plays”的第一个“ul”标签有 3 个子“li”标签(不是后代)。我正在尝试对这些子标签应用一些 CSS 规则。
我的 jQuery 代码添加了“水平”类。注意选择器只指向id为#selected-plays的父元素的子标签
$(document).ready(function() {
$('#selected-plays > li').addClass('horizontal');
});
.horizontal {
margin: 10px;
float: left;
list-style: none;
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<ul id="selected-plays">
<li>Comedies
<ul>
<li><a href="/asyoulikeit/">As You Like It</a></li>
<li>All's Well That Ends Well</li>
<li>A Midsummer Night's Dream</li>
<li>Twelfth Night</li>
</ul>
</li>
<li>Tragedies
<ul>
<li><a href="hamlet.pdf">Hamlet</a></li>
<li>Macbeth</li>
<li>Romeo and Juliet</li>
</ul>
</li>
<li>Histories
<ul>
<li>Henry IV (<a href="mailto:henryiv@king.co.uk">email</a>)
<ul>
<li>Part I</li>
<li>Part II</li>
www.it-ebooks.info Chapter 2 [ 29 ]
</ul>
<li><a href="http://www.shakespeare.co.uk/henryv.htm">
Henry V</a></li>
<li>Richard II</li>
</ul>
</li>
</ul>
前 3 个属性(margin、float、list-style)按预期应用于三个子“li”标签,但最后一个属性(即颜色)应用于父元素中的所有元素(后代)。为什么会这样?
【问题讨论】:
标签: javascript jquery html css dom