JS 在input 后面添加一个div

functionadd_type(){varsubmit_id=document.getElementById("attr_type_add");submit_id.ty... function add_type(){
var submit_id = document.getElementById("attr_type_add");
submit_id.type="button";
submit_id.value="添加类型";
var newNode = document.createElement("div");//添加一个div
newNode.id = "new_id_type";//添加一个id
submit_id.insertBefore(newNode,submit_id.nextSibling);//在attr_type_add插入div

}
add_type();

添加后变成以下 后面多了个 </input> 怎么办?
<input type="button" value="添加类型" name="attr_type_add" id="attr_type_add" vld="{maxlength:255}"><div id="new_id_type1"></input>
展开
 我来答
匿名用户
2016-06-01
展开全部

insertBefore本来就是向某个标签添加元素的。

所以submit_id.insertBefore这么写是把input当作一个容器了。

function add_type(){
var submit_id = document.getElementById("attr_type_add");
submit_id.type="button";
submit_id.value="添加类型";
var newNode = document.createElement("div");//添加一个div
newNode.id = "new_id_type";//添加一个id
//newNode.insertAfter(newNode);//在attr_type_add插入div 
var parent = submit_id.parentNode;
if(parent.lastChild == submit_id){
parent.appendChild(newNode)
}else{
submit_id.parentNode.insertBefore(newNode,submit_id.nextSibling)
}
}
add_type();
BUG集散地
推荐于2018-03-08 · TA获得超过1317个赞
知道小有建树答主
回答量:625
采纳率:80%
帮助的人:288万
展开全部
方法用错了。
insertBefore() 方法在您指定的已有子节点之前插入新的子节点。
你在submit==input,肯定会插入到input中去。

看你想实现什么效果了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式