使用Javascript更改HTML元素的类

时间:2011-08-17 08:26:23

标签: javascript html class

我需要动态更改HTML元素的类,具体取决于用户使用单选按钮做出的选择,但问题是我收到了消息

“Erreur:失踪”参数列表之后 Fichier资料来源:网站 Ligne:1,Colonne:71 代码来源: 。的document.getElementById( 'jj_conjoint')的setAttribute( '类', '验证[' 需要 ']');”

我的代码:

<label>Husband/Wife :</label>
    <input type="radio" name="not_single" value="yes" onclick="document.getElementById('birthdate_partner').setAttribute('class','validate['required']');">yes
    <input type="radio" name="not_single" value="no" checked="checked">no


<select name="birthdate_partner" id="birthdate_partner">
   <option value="" selected="selected">-</option>
   <option value="1987" >1987</option>
   <option value="1986" >1986</option>
   <option value="1985" >1985</option>
   <option value="1984" >1984</option>
</select>

3 个答案:

答案 0 :(得分:3)

您尚未引用ID字符串,因此document.getElementById会返回null,因为未加引号的字符串被视为未初始化的变量,将评估为undefined

document.getElementById('birthdate_partner').setAttribute('class',validate['required']);

答案 1 :(得分:1)

document.getElementById(birthdate_partner)

指的是名为birthdate_partner的变量。相反,您应该将ID作为字符串传递:

document.getElementById('birthdate_partner')

变量birthdate_partner永远不会分配给某个值,因此它是undefined,因此会调用它:

document.getElementById(undefined)

哪个不起作用。

答案 2 :(得分:0)

您可以使用jQuery执行此操作:

$("[name=birthdate_partner]").removeClass(className);
$("[name=birthdate_partner]").addClass(className);