Home  >  Q&A  >  body text

javascript - 这样的html结构,如何使用 js 动态修改文本,并且不影响子节点?

html如下:

html<p>自定义文本<button>子节点</button></p>

我想根据 js 拿到的数据动态修改“自定义文本”处的文字,但是不影响 button 子节点(button 上面绑定了事件回调)。请问用什么方法可以做到呢?

PHPzPHPz2629 days ago595

reply all(6)I'll reply

  • PHPz

    PHPz2017-04-10 15:27:42

    <p><span>自定义文本</span><button>子节点</button></p>
    

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 15:27:42

    是不是可以先获取到button的outerHtml,然后在修改p里面的html,最后再把button append进去?这样会影响事件绑定吗

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 15:27:42

    @小俞的方法最好

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:27:42

    小俞的方法最好:

    在p标签的内部前面加上字符
    在button标签的外部加上
    字符

    然后在p标签中取span标签即可

    reply
    0
  • 黄舟

    黄舟2017-04-10 15:27:42

    http://stackoverflow.com/questions/6520192/get-text-node-of-an-element

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 15:27:42

    拿到p里面的文字,再拿到button里面的文字,用p里面的文字减去button里面的文字就可以了

    reply
    0
  • Cancelreply