JQuery Find #ID,RemoveClass和AddClass

时间:2010-03-09 07:01:30

标签: jquery find addclass removeclass

我有以下HTML

<div id="testID" class="test1">
        <img id="testID2" class="test2" alt="" src="some-image.gif" />
    </div>

我基本上想要#testID2并用.test3类替换.test2类?

我试过

jQuery('#testID2').find('.test2').replaceWith('.test3');

但这似乎不起作用?

有什么想法吗?

5 个答案:

答案 0 :(得分:38)

jQuery('#testID2').find('.test2').replaceWith('.test3');

从语义上讲,您选择ID为testID2的元素,然后您正在寻找具有类test2(不存在)的任何后代元素,然后您将用另一个元素替换该元素(页面中具有类test3的任何位置的元素)也不存在。

你需要这样做:

jQuery('#testID2').addClass('test3').removeClass('test2');

这将选择ID为testID2的元素,然后将类test3添加到其中。最后,它从该元素中删除了类test2

答案 1 :(得分:5)

$('#testID2').addClass('test3').removeClass('test2');

jQuery addClass API参考

答案 2 :(得分:1)

试试这个

$('#testID').addClass('nameOfClass');

$('#testID').removeClass('nameOfClass');

答案 3 :(得分:0)

.....

$("#testID #testID2").removeClass("test2").addClass("test3");

因为你也为img分配了一个id,你也可以这样做:

$("#testID2").removeClass("test2").addClass("test3");

最后,你也可以这样做:

$("#testID img").removeClass("test2").addClass("test3");

答案 4 :(得分:0)

更正后的代码:

jQuery('#testID2').addClass('test3').removeClass('test2');