这是我的代码:
var chk="checked";
document.getElementById("chk").chk=true;
我使用变量在第二行设置属性。
但这没有错误。
请帮我找到这个。
答案 0 :(得分:2)
你可能想要:
document.getElementById("chk").setAttribute(chk, true);
将其设置为HTML属性(不是对象属性 - 因为您使用[]
括号)。这是您可能正在寻找的,因为您正在使用HTMLElememnt。
澄清:
<div>
转换为:<div checked="true">
(假设所讨论的元素是div)[]
- 用于普通的JS对象。在这种情况下,名称&#39;属性&#39;是使用而不是&#39;属性&#39; 另请注意,如果元素为<input>
,则两种方法都有效。这是因为HTMLInputElement包含&#39;已检查&#39;属性。有关详细信息,请参阅HTMLInputElement MDN page。
答案 1 :(得分:1)
试试这个:
document.getElementById("chk")[chk] = true;
这个设置属性
或使用.setAttribute属性
document.getElementById("chk").setAttribute(chk, true);
这将设置属性。如果您在HTML元素上使用它,那么这个是更好的选择,因为这将设置HTML属性。
答案 2 :(得分:1)
像这样使用。
document.getElementById("chk").setAttribute(chk, true);
答案 3 :(得分:0)
尝试,
document.getElementById("chk")[chk] = true;
答案 4 :(得分:0)
您可以向任何JavaScript对象添加变量,这就是为什么代码将在没有错误的情况下运行的原因,但是 - 正如您所观察到的 - 如果该属性不是预定义的,语义上有意义,它将不会产生任何副作用一。为此,您应该阅读给定元素的一些文档。对于checkbox元素,您要查找的属性的名称为checked
。 (请注意,使用点语法将右侧的文本视为属性的名称,它首先不对其进行评估。对于属性名称的动态评估,请对正常对象使用[]
语法并{{{ 1}}用于HTML属性)。
答案 5 :(得分:0)
chk是一个javascript变量。当getElementById时,它引用HTML文档及其中的标记。例如,
<input id=appleId type="radio" name="fruit" value="Apple" />
在JS中,您可以说,
document.getElementById("appleId").checked = true;
请参阅How can I check whether a radio button is selected with JavaScript?