使用javascript删除重生的html元素

时间:2016-02-01 23:57:45

标签: javascript jquery html dom

乍一看似乎是一个简单的问题,但事实并非如此;我得到了以下代码:

window.intercomSettings = {
"app_id": "ewqfsdjh",
"user_id": "user",
"real_name": " ",
"name": "user",
"email": "user@user.com",
"created_at": 225028599901,
};
(function() {
var w = window;
var ic = w.Intercom;
if (typeof ic === "function") {
    ic('reattach_activator');
    ic('update', intercomSettings);
} else {
    var d = document;
    var i = function() {
        i.c(arguments)
    };
    i.q = [];
    i.c = function(args) {
        i.q.push(args)
    };
    w.Intercom = i;

    function l() {
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://widget.intercom.io/widget/ewqfsdjh';
        var x = d.getElementsByTagName('script')[0];
        x.parentNode.insertBefore(s, x);
    }
    if (w.attachEvent) {
        w.attachEvent('onload', l);
    } else {
        w.addEventListener('load', l, false);
    }
}
})()

http://js.do/diomerda/81708输出相当多的HTML。

说我想在页面加载后通过javascript删除(或隐藏)整个按钮(内部通信容器div)。你会如何做到这一点?

我试过

window.onload = function(){document.getElementById('intercom-container').outerHTML='';}

和许多变化,但按钮保持重生......

也许我可以添加一些代码来修改按钮重生行为。

2 个答案:

答案 0 :(得分:1)

您发布的代码段本身不会生成任何HTML。它异步加载一个负责引导接口的库。加载库之前会激活window.onload,因此您有效地尝试在元素创建之前隐藏它。

相反,查看API docs,您可以使用

Intercom('shutdown');

这比试图自己隐藏元素更安全,更清洁。

答案 1 :(得分:0)

window.onload = function(){document.getElementById('intercom-container')。style.display ='none';