javascript - 我可以通过 JQuery 为特定的一组元素交换 CSS 类吗?

标签 javascript jquery css

我有两个 LI,如下所示:-

<li name="luxury" class="cars luxury>                                           
    <div id="featured_lux" name="featured" class="carImg_lux col2_lux ">
        My Luxury Car<img border="0" class="car-image_lux" src="/images/toycar_luxury.gif">
    </div>

    <div class="brandName_lux col2_lux">
        <h2 class="showBig_lux">
            Ferrari or Ford Mustang
        </h2> 

    </div>          

</li>

还有这个

<li name="normal" class="cars normal>
        <div id="featured_normal" name="normal" class="carImg_normal col2_normal ">
            My Normal Car<img border="0" class="car-image_lux" src="/images/toycar_normal.gif">
        </div>

        <div class="brandName_normal col2_normal">
            <h2 class="showBig_normal">
                Alto or Innova
            </h2> 

        </div>          

    </li>

两者看起来很相似。区别在于它们的 CSS 类和内容。

我可以通过 Jquery 为两组元素交换 CSS 类吗? 例如。 Normal Car Section 应与 Luxury CSS 一起应用,反之亦然。

我可以通过在 jQuery 中使用 addClass() 和 removeClass() 来实现它。 有没有代码行最少的直接方法?

以上方法应该根据某些条件默认运行。 (没有点击或悬停。)

我不想使用任何外部库( iF EXIST )。

请帮忙。谢谢:)

最佳答案

您可以使用toggleClass

$(function() {
    $('.swap').click(function() {
        $('.a, .b').toggleClass('a b');
    });
});
                    
.a { background: red; }
.b { background: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="a">#</div>
<div class="b">#</div>
<input type="button" class="swap" value="Swap Classes" />

您可以创建一个函数来将类传递给它进行交换。这是一个例子:

$(function() {
    swapClasses('red', 'blue');
    function swapClasses(a, b) {
        $('.' + a + ', ' + '.' + b).toggleClass(a + ' ' + b);
    }
});
body {
    color: white;
    font-weight: bold;
}
div {
    padding: 4px;
    margin: 4px;
}
.red { background: red; }
.blue { background: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="red">RED</div>
<div class="blue">BLUE</div>

fiddle :https://jsfiddle.net/z2ogcs3x/

关于javascript - 我可以通过 JQuery 为特定的一组元素交换 CSS 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29511032/

相关文章:

javascript - Socket.IO Node js将数据保存到客户端

javascript - 如果浏览器不支持 native Promises,如何将微任务排队?

javascript - 我怎样才能让我的 setTimeouts 在这里停止?

html - HTML 和 CSS 的布局问题 - 由于其他元素的高度,无法将 div 紧贴地移动到新位置

javascript - 用键盘单击按钮

javascript - 如何在 html 正文中使用头部脚本中定义的变量

javascript - 如何将值从实际行传递到 Bootstrap 模型

jquery - 如何缩短或简化我的 jquery 语句?

css - IE7 : Extra space caused by Clearfix container with element `float: right;` and margin

html - 如何更改 Jumbotron 内文本的渐变颜色?