请教js如何替换整个input标签

sxq129601 2016-10-27 11:24:46
标红的地方替换不了,不知道为什么

html:
<input type="hidden" id="playactorid" name="playactorid" />

js:
// processReuqest方法作为回调方法
function playactorprocessReuqest() {
if (xhs.readyState == 4) {
if (xhs.status == 200) {
// 创建新的select节点
var newCheckbox1 = "<label><input id=\"playactorid\" name=\"playactorid\" type=\"checkbox\" value=\"";
var newCheckbox2 =" \"/>";
var newCheckbox3 = "</label>";
// 得到完成请求后返回的字串符
var str = xhs.responseText;
// 根据返回的字符串为新创建的select节点添加option节点
var arr1 = str.split(",");
if (arr1.length == 1 && trim(arr1[0])== "" ) {
return;
} else {
for ( var i = 0; i < arr1.length; i++) {
var arr2 = arr1[i].split("=");
var newCheckbox = newCheckbox1+arr2[0]+newCheckbox2+arr2[0]+newCheckbox3;
alert(newCheckbox); //这里打印出标签没问题
}
}
var oldinput = document.getElementById("playactorid");
oldinput.value="";
oldinput.parentNode.replaceChild(newCheckbox,oldinput);

}
}
}
...全文
391 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
当作看不见 2016-10-27
  • 打赏
  • 举报
回复
oldinput.replaceChild(newCheckbox,oldinput);
sxq129601 2016-10-27
  • 打赏
  • 举报
回复
引用 4 楼 qq_29594393 的回复:
你的newcheckbox 是一个字符串,不是一个节点。。

var inp=document.createElement('input')
inp.id='playactoid';
inp.name='playactoid';
inp.type='checkbox';
inp.value=' ';
var newcheckbox=document.createElement('label')
newcheckbox.appendChild(inp);

var oldinput= document.getElementById("playactorid");
oldinput.value=''
oldinput.parentNode.replaceChild(newcheckbox,oldinput)
希望我自己解决了还是谢谢你,我外层加了个div当节点
当作看不见 2016-10-27
  • 打赏
  • 举报
回复
你的newcheckbox 是一个字符串,不是一个节点。。

var inp=document.createElement('input')
inp.id='playactoid';
inp.name='playactoid';
inp.type='checkbox';
inp.value=' ';
var newcheckbox=document.createElement('label')
newcheckbox.appendChild(inp);

var oldinput= document.getElementById("playactorid");
oldinput.value=''
oldinput.parentNode.replaceChild(newcheckbox,oldinput)
sxq129601 2016-10-27
  • 打赏
  • 举报
回复
修改成这样也不行,我也不知道为什么 playactor.js:45 Uncaught TypeError: Failed to execute 'replaceChild' on 'Node': parameter 1 is not of type 'Node'. function playactorprocessReuqest() { if (xhs.readyState == 4) { if (xhs.status == 200) { // 创建新的select节点 var newCheckbox1 = "<label><input id=\"playactorid\" name=\"playactorid\" type=\"checkbox\" value=\""; var newCheckbox2 =" \"/>"; var newCheckbox3 = "</label>"; // 得到完成请求后返回的字串符 var str = xhs.responseText; // 根据返回的字符串为新创建的select节点添加option节点 var arr1 = str.split(","); if (arr1.length == 1 && trim(arr1[0])== "" ) { return; } else { var plusbox = document.createElement("input"); for ( var i = 0; i < arr1.length; i++) { var arr2 = arr1[i].split("="); var newCheckbox = newCheckbox1+arr2[0]+newCheckbox2+arr2[0]+newCheckbox3; plusbox.appendChild(newCheckbox); } } //alert(plusbox); var oldinput = document.getElementById("playactorid"); oldinput.value=""; oldinput.replaceChild(plusbox,oldinput); } } }
sxq129601 2016-10-27
  • 打赏
  • 举报
回复
引用 1 楼 qq_29594393 的回复:
oldinput.replaceChild(newCheckbox,oldinput);
版主不行啊 playactor.js:45 Uncaught TypeError: Failed to execute 'replaceChild' on 'Node': parameter 1 is not of type 'Node'.

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧