为了账号安全,请及时绑定邮箱和手机立即绑定

求大神 我这个改斜体的木有反应啊 咋回事啊

      function replaceMessage(){
          var italic = document.createElement("i");
          var testdiv = document.getElementsByTagName("div");
          testdiv.appendChild(italic);
           var oldnode = document.getElementById("oldnode");
           testdiv.replaceChild(italic,oldnode);
           
       }

就是添加一个i 节点啊 然后用这个new的i节点 替换b节点嘛 

咋一点反应都没有 。。。

正在回答

3 回答

当 oldnode 被替换时,所有与之相关的属性内容都将被移除。所以文本Javascript消失。

    你整个过程把HTML变成了    : 

<div>
    <i></i>(←testdiv.appendChild(italic添加造成); 
        <i></i>(←testdiv.replaceChild(italic,oldnode替换造成);
        是一个很常用的技术,为网页添加动态效果
</div>

个人见解,有错清指出谢谢

0 回复 有任何疑惑可以回复我~

我觉得,首先只有父结点才能调用  replaceChild(newnode,oldnode).这个方法,所以说在使用替换这一方法时,不要直接获取父辈div,应使用父节点.还有替换i标签应该赋予内容。

function replaceMessage(){
          var italic = document.createElement("i");
          var oldnode = document.getElementById("oldnode");
          var newnodeText=document.createTextNode("JavaScript");
           italic.appendChild(newnodeText);
           oldnode.parentNode.replaceChild(italic,oldnode);
           
       }

0 回复 有任何疑惑可以回复我~

function replaceMessage(){

          var oldnode=document.getElementById("oldnode");

          var newnode=document.createElement("i");

          newnode.innerHTML=oldnode.innerHTML;

          oldnode.parentNode.replaceChild(newnode,oldnode);

       }   

你改成这样试试。个人意见。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求大神 我这个改斜体的木有反应啊 咋回事啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信