如何更改javascript中的inline属性checked =“checked”?

时间:2012-02-13 09:00:48

标签: javascript html

我正在我的一个列表上进行上移/下移功能,我需要移动的内容包含复选框。但是,我在PHP中设置了checked属性,当我切换元素的innerHTML时,检查状态总是恢复为checked属性的设置。当我点击

时,我尝试使用onchange函数来更改属性
if(el.checked == true)
    el.setAttribute("checked", "checked");
else
    el.setAttribute("checked", "");

但这不起作用(我不知道为什么我甚至期望它能起作用,说实话)

知道我该怎么做吗?在dom树中完全切换元素会有问题,因为不会在PHP中设置checked属性。

编辑:显然没有办法做我问的问题,但我的问题是通过不是一个懒惰的混蛋并在DOM中移动东西来解决的,就像我所说的那样。

2 个答案:

答案 0 :(得分:1)

当HTML中存在checked属性时(无论它具有什么值),IDL(DOM)属性checked初始化为true,与其默认值相反价值false。您的代码似乎不希望如此。我不明白你要做什么,因为你应该能够通过这样的操作移动一个复选框元素。如果移动元素节点,则无需使用属性。

答案 1 :(得分:0)

设置checked属性:

checkboxObject.checked=true|false

你可以试试这种方式

if(true) document.getElementById("check1").checked = true;
else document.getElementById("check1").checked = false;

检查w3School.com

希望这可以解决您的问题。