gpt4 book ai didi

Jquery 非选择器难度

转载 作者:太空宇宙 更新时间:2023-11-03 19:41:32 26 4
gpt4 key购买 nike

编辑:好吧,为了弄清楚这一点,您使用 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>

谢谢大家

最佳答案

我建议将您的 JS 重构为如下内容:

$(function(){
$('#liSmall, #liNormal, #liLarge').on('click', function(e){
$('body').removeClass('small medium large');
switch(this.id){
case 'liSmall': $('body').addClass('small'); break;
case 'liMedium': $('body').addClass('medium'); break;
case 'liLarge': $('body').addClass('large'); break;
}
});
});

然后在#ulSize 列表中硬编码字体大小,让浏览器完成剩下的工作。

#ulSize {
font-size: 16px !important;
}

关于Jquery 非选择器难度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com