用javascript替换输入

时间:2009-12-15 12:09:37

标签: javascript

大家好,我正在尝试将'text'输入类型替换为'password'。它适用于以下代码:

function replaceT(obj){
            var newO=document.createElement('input');
            newO.setAttribute('type','password');
            newO.setAttribute('name',obj.getAttribute('name'));
            obj.parentNode.replaceChild(newO,obj);
            newO.focus();
            }

但是我想在新输入中添加我之前输入的类,我尝试过这样的事情:

function replaceT(obj){
            var newO=document.createElement('input');
            newO.setAttribute('type','password');
            newO.setAttribute('className' obj.getAttribute('class'));
            newO.setAttribute('name',obj.getAttribute('name'));
            obj.parentNode.replaceChild(newO,obj);
            newO.focus();
            }

我做错了什么,或者如果不可能,如何手动设置新类..谢谢

3 个答案:

答案 0 :(得分:2)

newO.setAttribute('className' obj.getAttribute('class'));

您正在使用'className'来设置属性,但使用'class'来获取它。两者都必须是'className'。

答案 1 :(得分:2)

这适用于所有浏览器:

newO.className = obj.className;

我不确定您是否应该在className中使用classsetAttribute,但不管它是什么,它都与getAttribute中的相同,所以这个肯定是错的:

newO.setAttribute('className' obj.getAttribute('class'));

答案 2 :(得分:0)

很抱歉朝另一个方向走,但为什么要更换元素而不是仅仅改变它的类型?您不必担心将相同的className添加到新元素。

只是好奇。