2010-03-09 129 views
16

我有以下的HTMLJQuery的查找#ID,RemoveClass和AddClass

<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'); 

但是这似乎并没有工作?

任何想法?

回答

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

在语义上,你都与该ID testID2选择元件,然后您正在寻找类test2(不存在)的任何后代元素,然后使用也不存在的另一元素(类别为test3的页面中的任何元素)替换该元素。

你需要这样做:

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

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

+0

+轻推1000以上。很好的解释。 – 2010-03-09 07:12:20

+0

非常感谢:) – Tom 2010-03-09 07:49:27

0

尝试此

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

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

.....

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

因为你分配一个ID的img太,你可以简单地就此别过:

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

最后,你也可以这样做:

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

纠正代码:

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