js中insertbefore(js怎样添加、移除、移动、复制、创建和查找节点)

本文目录
- js怎样添加、移除、移动、复制、创建和查找节点
- 用js给一个div中添加一个带有class的div
- js中 appendchild是添加到一个容器的后面,如何插入到前面
- 怎么用js在某个元素节点中添加元素
- InfoPath 2007中如何用js动态生成重复表中的行
- 如何用js将勾中复选框的那一行的数据自动添加到同页面的另一个表格
js怎样添加、移除、移动、复制、创建和查找节点
添加节点append;移除节点removeChild;移动节点:var sdds=document.getElementById;创建节点createTextNode();查找节点:document.getElementsByTagName。
其他方法:
创建新节点
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
添加、移除、替换、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替换
insertBefore() //插入
查找
getElementsByTagName() //通过标签名
称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
用js给一个div中添加一个带有class的div
1、打开html器,新建一个html文件,写入基本的结构,这里加入一个按钮,用来演示添加div的效果,同时给按钮一个add_div事件,后面添加div的逻辑将在这个函数中进行:
2、js脚本中首先需要创建出新的div,这里使用createElement函数创建,之后给div设置id和文字内容,最后需要先获取id为a的div的dom,使用insertBefore函数将div插入即可:
3、打开浏览器,点击页面中的按钮,下方就显示出js的字样了:
4、最后按下f12调出控制台,在控制台中可以看到插入的div结构,以此验证插入的内容是正确的。以上就是用js给一个div中添加一个带有class的div的过程:
js中 appendchild是添加到一个容器的后面,如何插入到前面
function prependChild(parent,newChild){
if(parent.firstChild){
parent.insertBefore(newChild,parent.firstChild);
} else {
parent.appendChild(newChild);
}
return parent;
}
像这样,使用insertBefore方法即可
怎么用js在某个元素节点中添加元素
第一种
function insertEle() { var oTest = document.getElementById("box-one"); var newNode = document.createElement("div"); var reforeNode = document.getElementById("p1"); newNode.innerHTML = " This is a newcon "; oTest.insertBefore(newNode,reforeNode.nextSibling);//新建的元素节点插入id为P1节点元素的后面。 }
第二种// 自定义函数向后插入function insertAfter( newElement, targetElement){ var parent = targetElement.parentNode; if ( parent.lastChild == targetElement ) { // 如果最后的节点是目标元素,则直接添加。因为默认是最后 parent.a( newElement ); } else { //如果不是,则插入在目标元素的下一个兄弟节点的前面。也就是目标元素的后面 parent.insertBefore( newElement, targetElement.nextSibling ); }}
InfoPath 2007中如何用js动态生成重复表中的行
在本系统中,my:DayAttendance中包含了重复结点my:DayAttendance,也就是说我要添加一行就必须想办法添加一个my:AttendanceItem结点。js中使用的是MSXML,要添加结点就得用XmlNode.insertBefore方法,InsertBefore有两个参数第一个是被添加的结点,而第二个参数是参考结点。但要注意,没有insertAfter,所以没有办法直接差到某个结点后面,如果要这么做得用算法解决。提示:my是InfoPath的默认命名空间,InfoPath会自动声明该命名空间。 var parent = XDocument.DOM.selectSingleNode("/my:WorkAttendanceCard/my:Attendance/my:DayAttendance");//get first row var rowOne = parent.selectSingleNode("./my:AttendanceItem");for(i=1;i《days;i++){//clone the first row var rowClone = rowOne.cloneNode(true);//append row to XML document parent.insertBefore(rowClone, rowOne);}其实代码并不复杂,首先我必须拿到重复表的父节点,即my:DayAttendance,保存在parent中;然后对第一行做cloneNode操作,保存到rowClone中,当然克隆完成之后,你可以为rowClone加入适当的内容,最后用insertBefore把rowClone 添加到rowOne之前。似乎代码已经可以用了,但如果你自己做一遍的话会发现一个问题,如果在OnLoad中调用的此段代码每次InfoPath表运行都会生成n行,如果人家已经填好数据了,就会莫名其妙多出来n-1行。为此,可以加入一行判断条件,判断是否已经添加了需要的行,如下:if(parent.childNodes.length》20)
如何用js将勾中复选框的那一行的数据自动添加到同页面的另一个表格
①首先获得选中复选框的那一行或者多行数据,这个用,具体的代码要看你的网站结构通过jquery选择器和each循环都可以获得。
$("input:checkbox:checked")....
②在each循环中,把获取到的每一行,每个单元格的数据,通过jquery的append()的方法,动态创建,添加到另一个表格中即可。插入的位置可以用不同的方法,append()是追加到后面。还有一些insertbefore()等可参见jquery文档。

更多文章:
js写入本地json文件(vue项目导入本地json文件的方法)
2026年4月12日 14:00
success的几种用法(success用法固定搭配是什么)
2026年3月22日 03:45
qq代码公安局已加入该群(QQ突然发消息“公安局已加入该会话”怎么办)
2026年5月27日 01:00
网站下载的软件(手机从网站上下载的软件一般下到哪个文件夹里)
2025年7月28日 05:15
mysql数据库怎么初始化(初始化腾讯云mysql数据库时支持什么格式)
2025年8月3日 05:30
hashset类添加元素的方法(java 怎么给set赋值)
2026年5月1日 10:00
英国首相宣布(英国首相约翰逊辟谣将入职中国钻石公司,事情的真相到底是什么)
2025年7月16日 21:00
sutool插件(怎么用Sketchup较快的制作玻璃的分隔杆,就是一大片玻璃幕墙上的分隔杆)
2025年12月23日 01:30
绘图仪属于什么设备(绘图仪是计算机的输入设备吗,还有鼠标器是计算机的输入设备吗)
2025年9月17日 00:45














