起首 从界说来懂得 这两个办法:
appendChild() 办法:可向节点的子节点列表的末端添加新的子节点。语法:appendChild(newchild)
insertBefore() 办法:可在已有的子节点前插进一个新的子节点。语法 :insertBefore(newchild,refchild)
雷同的地方:插进子节点
分歧的地方:实现道理办法分歧。
appendChild办法是在父级节点中的子节点的末端添加新的节点(相对父级节点 来讲)。
insertBefore 办法 是在已有的节点前添加新的节点(相对子节点来讲的)。
来看个这个简朴的实例:在id为box-con 的末端添加一个子节点div
复制代码 代码以下:
1
2
3
复制代码 代码以下:
window.onload = function () {
var btn = document.getElementById("creatbtn");
btn.onclick = function() {
insertEle();
}
}
function insertEle() {
var oTest = document.getElementById("box-one");
var newNode = document.createElement("div");
newNode.innerHTML = " This is a newcon ";
//oTest.appendChild(newNode);
oTeset.insertBefore(newNode,null); // 这两种办法都可实现
}
这个insertBefore 的第一个参数 和appendChild的一样,都是谁人新的节点变量,而insert第二个参数不但可认为null 。也能够如许写呢
复制代码 代码以下:
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); // 新建的元素节点插进到 id为p1的元素前面
}
或
复制代码 代码以下:
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背面节点元素的 前面,
也就是说 插进id为P1节点元素的背面。
}
这里想说的是 nextSibling :某个元素以后紧跟的元素(处于统一树层级中)。
reforeNode.nextSibling :获得的是reforeNode工具的紧随着的下一个节点。
previousSibling - 获得某节点的上一个同级节点
因为可见insertBefore()办法的特征是在已有的子节点前面插进新的节点然则两种情形联合起来发明insertBefore()办法插进节点,是可以在子节点列表的随意率性地位。
呵呵呵。。。有些办法不但是感化于界说的那些特征,只要 相符语法,联合一些属性总会成心想不到的收成。
原文链接:http://daima2.banzhu.com/article/daima2-8-2934799.html
分享到:
相关推荐
《JavaScript DOM编程艺术》这本书对于初学者来说非常友好,它不仅介绍了DOM的基本概念,还深入讲解了DOM的操作方法,包括创建、复制、插入、删除、替换、处理及查找节点等。本文将根据书中的内容摘要,重点解析DOM...
插入节点通常涉及`insertBefore`和`appendChild`方法。`insertBefore(newNode, referenceNode)`方法用于将一个新节点插入到指定父节点的特定子节点之前。如果希望将新节点添加到子节点列表的末尾,可以使用`...
例如,`document.createElement()`用于创建新节点,`appendChild()`或`insertBefore()`用于插入节点,`getElementById()`、`getElementsByClassName()`等方法则用于获取特定的节点。 事件处理是JavaScript实现用户...
这可以通过`appendChild()`、`insertBefore()`或`replaceChild()`等方法实现。例如,将新输入框添加到页面的`<body>`末尾: ```javascript document.body.appendChild(newInput); ``` 5. **jQuery库的使用** ...
- 添加和删除节点:`appendChild`、`removeChild`、`insertBefore`等方法用于动态改变页面结构。 - 属性操作:获取和设置元素的属性值,如`getAttribute`和`setAttribute`。 - 文本操作:改变元素内的文本内容,...
- **insertBefore(newnode, refnode)**:在`childNodes`中的`refnode`之前插入`newnode`。 #### 四、示例代码分析 考虑以下HTML页面: ```html <title>DOMExample <p>Hello World! <p>Isn't this exciting? ...
4. **创建与插入元素**:如果需要动态添加元素,可以使用`document.createElement(tagName)`创建新元素,然后用`appendChild()`或`insertBefore()`将其插入到文档中。例如,`parentElement.appendChild(newElement)`...
- 使用innerHTML、textContent属性改变元素内容,appendChild、removeChild、insertBefore等方法调整元素位置。 7. **表单处理**: - 获取和验证表单数据,如input元素的value属性,以及正则表达式验证。 - 监听...
8. **DOM节点操作**:`.cloneNode()`, `.removeChild()`, `.appendChild()`, `.insertBefore()`等方法可以复制、删除、移动或插入节点。 9. **表单操作**:对于表单元素,如输入框、按钮等,还可以使用`.value`属性...
- `createElement()`, `appendChild()`, `insertBefore()`: 创建和插入新节点。 - `removeChild()`, `replaceChild()`: 删除或替换现有节点。 - `parentNode`, `childNodes`, `firstChild`, `lastChild`: 访问和...
- `insertBefore()`: 在指定的子节点之前插入新的元素。 - `replaceChild()`: 替换一个子节点为另一个子节点。 例如: ```javascript let newElement = document.createElement('div'); document.body....
- **insertBefore(new, ref)**:将一个新节点插入到另一个指定节点之前。 - **removeChild(old)**:删除一个子节点。 - **replaceChild(new, old)**:用一个新节点替换一个旧节点。 - **isSupported(feature, ...
3. **创建和插入节点**:使用`createElement`、`createTextNode`等方法创建新节点,并通过`appendChild`、`insertBefore`等方法将它们插入到文档中。 4. **删除节点**:使用`removeChild`方法移除不需要的节点。 5. ...
在万年历中,我们需要通过JavaScript来动态创建和修改HTML元素,比如创建日历的表格结构,这涉及到DOM节点的创建(document.createElement)、插入(appendChild、insertBefore)、查找(getElementById、...
- **插入节点(Inserting Nodes)** - `appendChild()`、`insertBefore()`、`replaceChild()`等方法用于在文档树中添加、插入或替换节点。 - **删除节点(Removing Nodes)** - `removeChild()`方法用于删除指定的...
在DOM操作中,可以使用`appendChild()`向元素末尾添加子节点,`insertBefore()`插入到指定位置,`removeChild()`删除节点。 18. **事件处理和This关键字**: `this`关键字在JavaScript中表示当前上下文的对象,常...
- 使用`insertBefore`在某个现有子节点前插入新节点。 - 使用`replaceChild`替换现有子节点。 - **删除节点**: - 使用`removeChild`删除子节点。 - **禁止浏览器默认行为**: - 在JavaScript中阻止默认行为...