根据手册如下:
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”。
为什么?
谢谢
答案 0 :(得分:7)
您需要使用attr
而不是att
。
但是,如果您要更改课程,则不应使用attr()
。
您应该使用removeClass()
和addClass()
。
$('label').removeClass('oldClass').addClass('newClass');
这样,您就不会覆盖可能分配给标签的任何其他类。