章节
问答
课签
笔记
评论
占位
占位

替换元素节点replaceChild()

replaceChild 实现子节点(对象)的替换。返回被替换对象的引用。 

语法:

node.replaceChild (newnode,oldnew ) 

参数:

newnode : 必需,用于替换 oldnew 的对象。 
oldnew : 必需,被 newnode 替换的对象。

我们来看看下面的代码:

 

效果: 将文档中的 Java 改为 JavaScript。

注意: 

1. 当 oldnode 被替换时,所有与之相关的属性内容都将被移除。 

2. newnode 必须先被建立。 

任务

试一试,补充函数 replaceMessage() 代码,实现将 b 标签替换成 i 标签。

?不会了怎么办

function replaceMessage(){
           var oldnode=document.getElementById("oldnode");
           var oldHTML= oldnode.innerHTML;           
           var newnode=document.createElement("i");         
           oldnode.parentNode.replaceChild(newnode,oldnode);
           newnode.innerHTML=oldHTML;
           
}    

||
1
2
<!DOCTYPE HTML>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 唐好胜666
加油啊

最新回答 / 啊屁
var oldNode=document.creatElement("oldnode");这是创建新节点,应该是获取旧节点var oldNode=document.getElementById("oldnode");

最赞回答 / 番茄boy
你好像没搞懂,文本节点和元素节点,还有父子节点的关系呀比如这个例子:<li>我是文本<li>这里 li标签就是元素节点,而“我是文本”则是文本节点,这个文本节点又被li标签包裹住了,所以说“我是文本”是li标签的子节点对这个子节点的创造有很多,其中可以修改li的InnerHTML或innerText来修改它里面的文本节点内容就是单独创造文本节点createTextNode,然后再通过appendChild方法插入到li标签里而替换节点,rereplaceChild,你针对谁的替换,...

最赞回答 / 慕码人9569303
应该是var otest =document.getElementsByTagName("div")[0]才对啊,div是一个元素名,不是一个id,通过元素名来获取元素,应该是用document.getElementByTagName(TagName);才对,你这里写的是通过id获取元素的方法,所以是错误的,但是你的思路是对的。

最赞回答 / 慕沐3296643
首先oldHTML这个变量已经获取到了原先<b></b>标签里面的内容,然后这句话的意思是将oldHTML这个变量的值(即‘javascript’这个字符串)赋值给newnode.innerHTML(也就是给它加个文本,不然屏幕是空白的),这是我的理解。

已采纳回答 / 晓之蛇
var oldnode=document.getElementsByTagName("b"); 是返回的带有指定标签名的节点对象的集合,取集合中的其中一个标签那么要加下标定位。<...code...>

已采纳回答 / 晓之蛇
<b>节点加粗,<i>节点斜体;<...code...>document.createElement("i"); - 创建斜体的文字节点

最新回答 / _Yinger
感谢感谢,自己看了好几遍都没发现?

最新回答 / 我信你个鬼
function replaceMessage(){ // 先获取被替换的元素 <b> var oldnode = document.getElementById("oldnode"); // 创建一个替换元素 <i> var newnode = document.createElement("i"); // 将新元素替换旧元素 <i>替换<b> oldnode.parentNode.replaceChild(newnode,old...
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言