gpt4 book ai didi

jQuery 添加类并删除所有其他类

转载 作者:太空狗 更新时间:2023-10-29 15:20:54 24 4
gpt4 key购买 nike

所以我有一些导航 anchor 。单击这些时,我想更改页面上的一些基本配色方案。我能够做到这一点的唯一方法是使用下面的代码。

它工作正常,但我忍不住认为还有更优雅的方法。有谁知道是否可以一口气剥夺类(class)?

编辑:这本来可以更清楚。我不想让原来的类(class)消失。我猜只是用 jQuery 添加的类。对困惑感到抱歉。

谢谢。

编辑:参见 THIS FIDDLE

尝试实现所有解决方案。

得到一个“{“error”:“请使用 POST 请求”}”...

编辑:这是因为 href="?"与指出的 href="#"相比。

    $(".home").click(function() {
$(".primary-color").addClass("one");
$(".primary-color").removeClass("two");
$(".primary-color").removeClass("three");
$(".primary-color").removeClass("four");
$(".primary-color").removeClass("five");
});

$(".services").click(function() {
$(".primary-color").addClass("two");
$(".primary-color").removeClass("one");
$(".primary-color").removeClass("three");
$(".primary-color").removeClass("four");
$(".primary-color").removeClass("five");
});

$(".pricing").click(function() {
$(".primary-color").addClass("three");
$(".primary-color").removeClass("one");
$(".primary-color").removeClass("two");
$(".primary-color").removeClass("four");
$(".primary-color").removeClass("five");
});

$(".special-thing").click(function() {
$(".primary-color").addClass("four");
$(".primary-color").removeClass("one");
$(".primary-color").removeClass("two");
$(".primary-color").removeClass("three");
$(".primary-color").removeClass("five");
});

$(".contact").click(function() {
$(".primary-color").addClass("five");
$(".primary-color").removeClass("one");
$(".primary-color").removeClass("two");
$(".primary-color").removeClass("three");
$(".primary-color").removeClass("four");
});

最佳答案

你可以这样做

http://jsfiddle.net/lollero/ZUJUB/

$(document).ready(function() {
$(".home, .services, .pricing, .special-thing, .contact").on("click", function() {

$(".primary-color")
// Remove all classes
.removeClass()
// Put back .primary-color class + the clicked elements class with the added prefix "pm_".
.addClass('primary-color pm_' + $(this).attr('class') );
});
});​

CSS:

.primary-color {
width: 100px;
height: 100px;
border: 1px solid #e1e1e1;

}


.pm_services { background: red; }
.pm_home { background: green; }

HTML:

<div class="services">services</div>
<div class="home">home</div>

<div class="primary-color">Primary-color</div>



或者类似这样的东西:

http://jsfiddle.net/lollero/ZUJUB/1/

这符合 OP 的结构:http://jsfiddle.net/lollero/EXq83/5/

jQuery:

$(document).ready(function() {
$("#buttons > div").on("click", function() {

$(".primary-color")
// Remove all classes
.removeClass()
// Put back .primary-color class + the clicked elements index with the added prefix "pm_".
.addClass('primary-color pm_' + ( $(this).index() + 1 ) );
});
});​

CSS:

.primary-color {
width: 100px;
height: 100px;
border: 1px solid #e1e1e1;

}


.pm_1 { background: red; }
.pm_2 { background: green; }

HTML:

<div id="buttons">
<div class="services">services</div>
<div class="home">home</div>
</div>

<div class="primary-color">Primary-color</div>

关于jQuery 添加类并删除所有其他类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13816730/

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