【发布时间】:2012-06-02 04:43:55
【问题描述】:
编辑:好吧,为了弄清楚这一点,您使用 not 选择器来过滤特定标签中的属性而不是过滤子元素?
谁能帮我看看我是否有某种语法错误,或者我不理解这个概念?
我有列表项,当您单击时,它们会更改正文的字体大小。现在列表项在正文中,因此其字体更改为。我希望这个 UL 保持相同的字体。所以我使用 .not("#ulSize") 如下所示。但这不起作用。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#liSmall").click(function () {
$('body').not('#ulSize').removeClass('large normal').addClass('small');
});
$("#liNormal").click(function () {
$('body').not('#ulSize').removeClass('large small').addClass('normal');
});
$("#liLarge").click(function () {
$('body').not('#ulSize').removeClass('small normal').addClass('large');
});
});
</script>
<style type="text/css">
.large
{
font-size: large;
}
.normal
{
font-size: medium;
}
.small
{
font-size: small;
}
</style>
</head>
<body>
<ul id="ulSize">
<li id="liSmall">Small Font</li>
<li id="liNormal">Normal Font</li>
<li id="liLarge">Large Font</li>
</ul>
Text in here!!!
</body>
</html>
谢谢大家
【问题讨论】:
-
.not('#ulSize')只是删除之前匹配集中#ulSize中的任何内容。而且由于body不是#ulSize反正......什么也没有发生。此外,.not()不是选择器。选择器是:not(),带有冒号。 -
所以 $('body:not("#ulSize")')... 应该可以解决问题吗?因为我也试过了,没有阳性结果!
-
无论如何你都不能删除这样的元素。
标签: jquery html css jquery-selectors