insertBefore()指定的已有子节点之前插入新的子节点

定义:

insertBefore() 方法在您指定的已有子节点之前插入新的子节点。

语法:

父级.insertBefore(新的子节点,指定的已有子节点)

实例:

<input id="txt1" type="text"/>
<input id="btn1" type="button" value="创建li"/>
<ul id="ul1">
</ul>
window.onload=function ()
{
    var oBtn=document.getElementById(‘btn1‘);
    var oUl=document.getElementById(‘ul1‘);
    var oTxt=document.getElementById(‘txt1‘);
    oBtn.onclick=function ()
    {
        var oLi=document.createElement(‘li‘);
        var aLi=oUl.getElementsByTagName(‘li‘);

        oLi.innerHTML=oTxt.value;

        //父级.appendChild(子节点);
        if(aLi.length>0)
        {
            oUl.insertBefore(oLi, aLi[0]);
        }
        else
        {
            oUl.appendChild(oLi);
        }
    };
};

当ul中没有li时oUl.insertBefore(oLi, aLi[0]);会报错,所以判断aLi.length为0时使用oUl.appendChild(oLi);

时间: 2024-10-09 13:06:11

insertBefore()指定的已有子节点之前插入新的子节点的相关文章

DOM操作插入新的子节点

appendChid.insertBefore首先这两个方法都是添加子节点. append(追加),appendChid:给父节点的子节点末尾添加子节点. insertBefore(newNode, existingNode):父节点的某个子节点之前添加新子节点,若新子节点已存在会被移动(操作的元素本身) 国内"知名"w3school insertBefore   chrome浏览器调试报错

C#中TreeView选中父节点同时选中所有的子节点

TreeView 通常和CheckBoxs一起使用,显示并选择一些条目,特别是在等级分割的状态下,例如 当我选择一个父节点,希望该父节点下所有的子节点都被选中,取消一个节点,希望他所有的父节点都取消,例如 代码如下所示 //取消节点选中状态之后,取消所有父节点的选中状态 private void setParentNodeCheckedState(TreeNode currNode, bool state) { TreeNode parentNode = currNode.Parent; par

Cocos2d-x开发---改变父节点颜色、透明度影响子节点

标题的意思是:当我们修改父节点的颜色或者透明度的时候,默认是不会对子节点产生影响的.在交流群里看见网友说可以通过设定某个参数来达到修改子节点相关属性的效果,就去看了看源码,记录下来: 引擎版本为:2.1.4 引擎中诸如CCSprite 设置颜色的时候是使用基类:CCNodeRGBA中的setColor 方法的.该方法的代码: void CCNodeRGBA::setColor(const ccColor3B& color) { _displayedColor = _realColor = col

怎样在当前节点的最后一个元素子节点后面增加新的元素子节点

使用 ParentNode.append(), 比如下面是在body元素节点下追加一个子元素节点: var parent = document.body; // 添加元素子节点 var p = document.createElement('p'); parent.append(p); // 添加文本子节点 parent.append('Hello'); // 添加多个元素子节点 var p1 = document.createElement('p'); var p2 = document.cr

appendChild(newnode)在指定节点的最后一个子节点列表之后添加一个新的子节点

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>无标题文档</title></head><body> <ul id="test"> <li>JavaScript</li&

js遍历 子节点 子元素

Js 节点 子元素 属性 方法 // 添加子节点前 删除所有子节点 var usernameEle = document.getElementById("username"); var childs = usernameEle.childNodes; for(var i = childs.length - 1; i >= 0; i--) { usernameEle.removeChild(childs[i]); } var username = document.createTe

js 访问,插入,替换,创建,删除节点介绍

访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数组,他具有length属性.语法:elementNode.childNodes注意:如果选定的节点没有子节点,则该属性返回不包含节点的 NodeList. 注意:1. IE全系列.firefox.chrome.opera.safari兼容问题2. 节点之间的空白符,在firefox.chrome.opera.safari浏览器是文本节点,所以IE是3,其它浏览器是7, 访问子节点的第一和最后项一.firstChild 属性返回'chi

JavaScript之DOM-5 增加、删除和替换节点(创建节点、插入节点、删除和替换节点)

一.创建节点 创建元素 - 使用如下方法可以创建一个新的元素节点: - document.createElement('元素名'); 创建文本节点 - 使用如下方法可以创建一个新的元素节点: - document.createTextNode('text'); 创建注释 - 使用如下方法可以创建一个HTML注释节点: - document.createComment('comment'); 创建文档片段 - 使用如下方法可以创建一个文档片段: - document.createDocumentF

数据结构-编程实现一个双向链表节点的插入

1:这里分为两种插入情况:一种是 插入位置在中间,另一种是插入位置在末尾.两种情况有一点不同:插入位置在中间时需要把p的原后继节点的前驱指针指向新插入的节点. // ConsoleApplication24.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<malloc.h> #include <iostream> #include <assert.h> using namespace std;