删除div中的所有类

时间:2013-05-15 11:13:42

标签: javascript jquery

outer div中,我想删除所有类testClass,但这不起作用。

http://jsfiddle.net/TAcZJ/

jquery的

$('#outer').removeClass('testClass');

HTML

 <span class="testClass">d</span>
 <span class="testClass">d</span>
 <span class="testClass">d</span>
 <span class="testClass">d</span>

<div id="outer">
    <span class="testClass">d</span>
    <span class="testClass">d</span>
    <span class="c">d</span>
    <span class="testClass">d</span>
    <span class="testClass">d</span>
    <span class="testClass">d</span>
    <span class="c">d</span>
    <span class="testClass">d</span>
    <span class="testClass">d</span>
    <span class="testClass">d</span>
</div>

CSS

.testClass{color:red;}

.c{ color:blue;}

7 个答案:

答案 0 :(得分:6)

$('#outer > .testClass').removeClass('testClass');

您目前只选择包装器div,而不是孩子跨越该类。我会反对其他答案,因为他们选择的元素超出了必要的范围。

答案 1 :(得分:6)

方法1

$('#outer > .testClass').removeClass('testClass');('testClass');

方法2

$('#outer').find('span').removeClass('testClass');

方法3

$('#outer').children('span').removeClass

方法4

$('#outer').children().removeClass('testClass');

方法5

jQuery.grep($('#outer > .testClass'), function (data) {
        $(data).removeClass('testClass');
});

方法6

$.each($('#outer > .testClass'), function(index, data){
     $(data).removeClass('testClass');
});

答案 2 :(得分:1)

你可以这样做:

$('#outer').children().removeClass('testClass');

答案 3 :(得分:1)

$('#outer span').removeAttr('class');

答案 4 :(得分:0)

试试这个

$('#outer > span').removeClass('testClass'); 

  $('#outer  span').removeClass('testClass');

LINK

答案 5 :(得分:0)

document.getElementById("outer").innerHTML = document.getElementById("outer").innerHTML.replace(/testClass/g, '');

只需使用一些VanilaJS ;-)就足够了。

答案 6 :(得分:0)

$('#outer span').removeClass('testClass');

$('#outer .testClass').removeClass('testClass');

$('#outer').find('.testClass').removeClass('testClass');