zoukankan      html  css  js  c++  java
  • jq-outerhtml不能执行新元素内部的js解决方案

    发生经过:我们有一个项目是需要将后台返回的html代码片段替换掉当前操作的这个节点,那么问题来了  这时候要用outerhtml来替换原来的dom,但是到这有问题了  。如果后台返回了你一段包含js的代码段那么是无法直接执行的。下面就是解决方案:

    appendNewDom(item, newDom){
            let prev = item.prev();
            let next = item.next();
            let parentDom = item.parent();
            item.remove();
            //只有一个元素
            if(prev.length == 0 && next.length == 0){
                parentDom.append(newDom);
            }else{
                let tmp = prev.length == 1 ? {tag:"prev",dom:prev}:{tag:"next",dom:next};
                if(tmp.tag == "prev"){
                    prev.after(newDom.get(0).outerHTML);
                }else{
                    next.before(newDom.get(0).outerHTML);
                }
            }
        },

    这样就可以了  解释一下参数,item为当前dom的jq对象,newDom为新的jq对象

  • 相关阅读:
    cf 785#
    hdu 4920 Matrix multiplication
    poj 2443 Set Operation
    bzoj 3687: 简单题
    洛谷 三月月赛 C
    洛谷 三月月赛 B
    洛谷 三月月赛 A
    bzoj 3156: 防御准备
    bzoj 3437: 小P的牧场
    bzoj 3675: [Apio2014]序列分割
  • 原文地址:https://www.cnblogs.com/jinzhenzong/p/12368730.html
Copyright © 2011-2022 走看看