添加/删除/替换html元素的类

时间:2013-04-17 08:19:58

标签: javascript jquery

我很好奇如何在html元素中添加/删除类?这似乎是一个非常简单的操作。但事实证明,由于某种原因找不到方法removeClass。

所以我需要做的是替换或删除旧的并向元素添加新的。我怎么能这样做?

7 个答案:

答案 0 :(得分:1)

使用AddClass添加类,removeClass删除,toggleClass切换(如果存在则删除类,如果不存在则删除):)

答案 1 :(得分:1)

如果您使用jQuery,请确保在脚本之前加载它,然后像这样使用:

$('p').removeClass('myClass yourClass') // remove class
$("p").addClass("myClass yourClass");   // add class

如果你想在这里使用纯JS,你可以:How do I add a class to a given element?

var d = document.getElementById("div1");
d.className = d.className + " otherclass";

答案 2 :(得分:1)

removeClass方法包含在jQuery中,除非你重写它。

$("#someElement").removeClass("someclass");

答案 3 :(得分:1)

使用addClassremoveClass

<div class="firstClass" id="uniqeId"></div>

$("div#uniqeId").removeClass("firstClass");
$("div#uniqeId").addClass("Some_Other_Class");

答案 4 :(得分:1)

$('#elementId').addClass('className');
$('#elementId').removeClass('className');

请参阅:http://api.jquery.com/category/manipulation/class-attribute/

答案 5 :(得分:1)

由于您的问题标有,因此您可以使用两种功能:

  1. $(element).removeClass('oldclass')

  2. $(element).addClass('newclass')

  3. 如果没有jQuery,在现代浏览器上,您可以使用classList属性:

    element.classList.remove('oldclass')
    
    element.classList.add('newclass')
    

答案 6 :(得分:1)

您可以同时使用.toggleClass()添加/删除,我的意思是从一个班级切换到另一个班级:

来自文档的描述

  

在匹配元素集中的每个元素中添加或删除一个或多个类,具体取决于类的存在或switch参数的值。

如果这是你的html:

<div class="aaa">Some text.</div>

然后这个脚本:

$('div.aaa').toggleClass('bbb');

将输出如下:

<div class="aaa bbb">Some text.</div>

或者如果你这样做:

$('elem').toggleClass('aaa bbb');
     //--------------------^^^---here this class will be added/removed