具有特殊字符的JS元素标签

时间:2014-07-14 13:32:20

标签: javascript jquery internet-explorer

如果记录的用户没有编辑字段的权限,我正在尝试禁用某些表单字段。我一直工作正常,直到我尝试进行一些浏览器兼容性测试并发现使用JQuery做

$("#id_first_name").attr('disabled', true);
[etc. fields]

不适用于IE。我开始经历并用

替换那些
id_first_name.disabled = true;

确实有效,但我遇到了麻烦。我的几个字段都标有 - ,这会导致'ReferenceError:左侧无效赋值'错误。

看起来它在jQuery中运行良好,因为标签是引号,但我需要一个不使用jQuery而不更改这些字段标签的解决方案。请告知,我已经尝试过没有成功:

id_security-email.disabled = true;
'id_security-email'.disabled = true;
id_security\-email.disabled = true;

1 个答案:

答案 0 :(得分:1)

你真的应该设置“禁用”属性,而不是属性。

$("#id_security-email").prop("disabled", true);

或者,您尝试引用全局属性也可以这样做:

window["id_security-email"].disabled = true;

又一个选择:

document.getElementById("id_security-email").disabled = true;