DOM总结(三)及综合案例
来源:互联网 发布:java遗传算法编程 pdf 编辑:程序博客网 时间:2024/04/28 03:19
DOM总结(三)及综合案例
1,DOM属性-----replaceChild()
replaceChild()---替换节点:
把一个给定父元素里的一个子节点替换为另外一个子节点
var reference = element.replaceChild(newChild,oldChild);
返回值是一个指向已被替换的那个子节点的引用指针。s
如果被插入的子节点还有子节点,则那些子节点也被插入到目标节点中
练习:
问题:当单击”北京”这个节点时,北京这个节点被”游泳”替换
Html代码:
<body>
个人所在城市:
<ul id="city">
<li id="bj">北京</li>
<li id="sh">上海</li>
<li id="tj">天津</li>
<li id="dd">大都</li>
</ul>
个人爱好:
<ul id="fav">
<li id="yy">游泳</li>
<li id="pp">乒乓球</li>
<li id="ymq">羽毛球</li>
<li id="lq">篮球</li>
</ul>
</body>
js解答:
<script>
window.onload = function(){
//通过id获得节点
var bj = document.getElementById("bj");
//定义隐函数
bj.onclick = function(){
/
var yy = document.getElementById("yy");
//通过replaceChild()方法来进行替换
bj.parentNode.replaceChild(yy,bj);
}
},
2,查找属性节点
getAttribute()
返回一个给定元素的一个给定属性节点的值
var attributeValue = element.getAttribute(attributeName);
给定属性的名字必须以字符串的形式传递给该方法。
给定属性的值将以字符串的形式返回,如果给定属性不存在,getAttribute() 将返回一个
空字符串.
通过属性获取属性节点。
getAttributeNode(属性的名称)--Node
如:<li name="beijing" id="bj">北京</li> 获取属性值和文体
//通过属性名获取属性的值
var bjElement=document.getElementById("bj");
var attributeValue=eduElement.getAttribute("name");
alert("attributeValue "+attributeValue);
//通过属性名获取属性的节点
var bjNode=eduElement.getAttributeNode("name");
alert(eduNode.nodeValue);
alert(eduNode.nodeType);
alert(eduNode.nodeName);
3,设置属性节点
SetAttribute()
将给定元素节点添加一个新的属性值或改变它的现有属性的值。
element.setAttribute(attributeName,attributeValue);
属性的名字和值必须以字符串的形式传递给此方法
如果这个属性已经存在,它的值将被刷新;
如果不存在,setAttribute()方法将先创建它再为其赋值。
如:<li id="bj" >北京</li>
//获取元素的引用
var bjElement=document.getElementById("bj");
//设置属性值
bjElement.setAttribute("name","beijing");
//获取设置的属性值
var nameValue=bjElement.getAttribute("name");
alert("nameValue "+nameValue);
4,创建新文本节点
createTextNode()
创建一个包含着给定文本的新文本节点。这个方法的返回值是一个指向新建文本节
点引用指针。
var textNode = document.createTextNode(text);
方法只有一个参数:新建文本节点所包含的文本字符串
方法的返回值:是一个指向新建节点的引用指针。它是一个文本节点,所以它的
nodeType 属性等于 3.
新元素节点不会自动添加到文档里,新节点没有 nodeParent 属性
如:
var pElementText=document.createElement("li");
var textElement=document.createTextNode("南京");
pElementText.appendChild(textElement);
5,插入节点
5.1
appendChild()
为给定元素增加一个子节点:
var newreference = element.appendChild(newChild).
给定子节点 newChild 将成为给定元素节点 element 的最后一个子节点。
方法的返回值是一个指向新增子节点的引用指针。
该方法通常与 createElement() createTextNode() 配合使用
新节点可以被追加给文档中的任何一个元素
5.2
insertBefore()
把一个给定节点插入到一个给定元素节点的给定子节点的前面
var reference = element.insertBefore(newNode,targetNode);
节点 newNode 将被插入到元素节点 element 中并出现在节点 targetNode 的前面.
节点 targetNode 必须是 element 元素的一个子节点。
该方法通常与 createElement() 和 createTextNode() 配合使用
5.3
insertAfter() 方法(但是DOM没提供方此方法)*
可以通过DOM的属性方法来写一个:
function insertAfter(newElement,targetElement){
//获取目标元素的父节点
var parentElement=targetElement.parentNode;
//如果目标元素是最后一个元素,则新元素插入到目标元素的后面
if(parentElement.lastChild==targetElement){
parentElement.appendChild(newElement);
}else{//如果目标元素不是最后一个元素,则新元素插入到目标元素的的
//下一个兄弟节点的前面,即目标元素的后面
parentElement.insertBefore(newElement,targetElement.nextSibling);
}
}
6,删除节点
removeChild()
从一个给定元素里删除一个子节点
var reference = element.removeChild(node);
返回值是一个指向已被删除的子节点的引用指针。
7,获取最后一个子节点
lastChild:对应 firstChild 的一个属性。
nextSibling: 返回一个给定节点的下一个兄弟节点。
parentNode:返回一个给定节点的父节点。
parentNode 属性返回的节点永远是一个元素节点,因为只有元素节点才有可能包含子节点。
Document 节点的没有父节点。
previousSibling:返回一个给定节点的上一个兄弟节点
8,innerHTML属性
浏览器几乎都支持该属性,但不是 DOM 标准的组成部分。
innerHTML 属性可以用来读,写某给定元素里的 HTML 内容。
综合案例
实现如图js的增删该
结束语:如何实现 ,请继续关注我的博客!
- DOM总结(三)及综合案例
- XML学习总结-DOM和SAX解析-综合案例-(四)
- Android基础综合案例(三)
- DOM XSS案例总结
- Struts2_Spring4_Hibernate4整合及综合案例
- 超强 DOM增删改,js日历综合案例实现
- DOM综合案例、SAX解析、StAX解析、DOM4J解析
- webservice综合案例(四)
- ReactNative-综合案例(01)
- ReactNative-综合案例(02)
- ReactNative-综合案例(03)
- 论坛案例分析及扩展(三)
- 综合/案例
- 综合案例
- 综合案例
- 得到综合(三)
- DOM操作以及其它案例总结
- Android中的延迟加载系列5 (综合案例 含完整代码及工程下载)
- ubuntu10.04使apt-get install 命令在代理模式下有效
- 标准string类型
- 从零开始编写一个flex组件。FLEX自定义控件。
- WideCharToMultiByte说明
- Linux 文件系统剖析
- DOM总结(三)及综合案例
- '和"处理
- getarg 和 iargc:获取命令行参数
- AMD显卡中的Hyber-Z的工作原理
- 使用HTML DOM实现的增、删、改
- 忘记了root密码怎么办?
- SQL语句--排名问题。
- HTML元素
- 如何动态设置全局theme,及在web.config中读取pages节点的内容。