【问题标题】:Jquery: change CLASS between multiple DIVs [closed]Jquery:在多个 DIV 之间更改 CLASS [关闭]
【发布时间】:2013-08-21 18:39:47
【问题描述】:

我有这样的任务:使用 jQuery 创建一个函数,它将 CSS 类更改为选定的 DIV。 Class="XXX" 可以重复多次,但 Class="YYY" 只能重复一次。

像这样:

<div onclick="change_css()"class="xxx">text</div>
<div onclick="change_css()"class="xxx">text</div>
<div onclick="change_css()"class="xxx">text</div>
<div onclick="change_css()"class="yyy">text</div>
<div onclick="change_css()"class="xxx">text</div>

所以,这意味着函数需要首先找到 class="yyy" 的位置并更改为 class="xxx" 然后将类修改为由onclick激活的“yyy”...

请帮我实现这个功能...我知道我需要以某种方式使用.addClass.removeClass

function change_css() {
/// some tricks here
}

感谢您的每一个建议!

【问题讨论】:

  • 你能告诉我们你试过的代码吗?
  • $(".XXX").attr("class", "YYY")怎么样

标签: jquery css function class html


【解决方案1】:
$('.xxx').on('click', function(){
    $('.xxx').removeClass('yyy');
    $(this).addClass('yyy');
});

【讨论】:

    【解决方案2】:

    我会建议一种不同的、更 jQuery 的方法。从所有&lt;div&gt;s 中删除“onclick”属性,并在所有相关&lt;div&gt;s 上使用另一个类(此示例为myDiv):Here's a working jsFiddle

    <div class="myDiv xxx">text</div>
    <div class="myDiv xxx">text</div>
    <div class="myDiv xxx">text</div>
    <div class="myDiv yyy">text</div>
    <div class="myDiv xxx">text</div>
    

    然后使用jQuery附加点击事件:

    $(function(){
    
        $('.myDiv').click(function(){ // when a .myDiv is clicked
            $('.myDiv.yyy').removeClass('yyy').addClass('xxx'); // replace former yyy with xxx
            $(this).removeClass('xxx').addClass('yyy'); // add class yyy to current element instead of class xxx
        })
    
    })
    

    【讨论】:

    • 非常感谢!!!大力支持!!!
    • @SergiuCostas 很高兴我能帮上忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    相关资源
    最近更新 更多