jQuery - 为什么.att不替换属性值?

时间:2010-09-01 13:56:56

标签: jquery

根据手册如下:

http://api.jquery.com/attr/ 
attr( attributeName, value ) 

我应该能够替换所选元素的属性值。

             <div id="keynote1Fld" class="row ">
                <label for="keynote1" class="labeloptional">Topic 1</label>
                <div class="collection">
                 <input type="text" class="largetextfield" maxlength="96" size="96" value="" id="keynote1" name="keynote1" />
                </div>
             </div>

我需要将keynote1的label的类值从labeloptional替换为label。

以下是做了什么:

$("label[for=keynote1]").att('class', 'label');

但是,执行上述声明后,keynote1标签的类值仍然是“labeloptional”。

为什么?

谢谢

1 个答案:

答案 0 :(得分:7)

您需要使用attr而不是att


但是,如果您要更改课程,则不应使用attr()

您应该使用removeClass()addClass()

$('label').removeClass('oldClass').addClass('newClass');

这样,您就不会覆盖可能分配给标签的任何其他类。