JavaScript 在执行点插入元素

标签 javascript dom object insert

是否可以在 <script> 标签执行时插入 DOM HTML 元素?就像 document.write() 函数一样,它在执行时立即将文本插入到 DOM 中。

[更新]

是的,就是这样!这是我想到的:

var injectElement = function (element) {
    //Function that generates random id
    var randomID = function () {
        var id = '';
        var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
        for( var i=0; i < 5; i++ )
           id += chars.charAt(Math.floor(Math.random() * chars.length));
       return id;
    };

    var id = randomID();

    //Adding placeholder element
    document.write('<div id="' + id + '"></div>');

    //Injecting new element instead of placeholder
    var placeholder = document.getElementById(id)
    placeholder.parentNode.replaceChild(element, placeholder);
};

最佳答案

是的,这是可能的:

<script>
    var arrScripts = document.getElementsByTagName('script');
    var currScript = arrScripts[arrScripts.length - 1];

    var newNode = document.createElement('div');
    newNode.innerHTML = 'This is a DIV';

    currScript.parentNode.appendChild(newNode);

</script>

此代码首先在文档中定位当前脚本 block ,然后在其后面附加 DOM 元素。

关于JavaScript 在执行点插入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18926353/

相关文章:

javascript - jQuery 将 div 加载到另一个没有 .html() 方法的地方

java - 如何在屏幕上获取输出对象?

javascript - Grails jQuery 插件和 JS 脚本之间的冲突

javascript - 幻影;安装和运行示例

javascript - 无法使用服务

jquery 在输入文本区域中选择输入按钮

javascript - 如何防止在表单中输入无效字符?

javascript - _underscore 模板 - 从外部文件加载模板

javascript - 在 javascript 中,对象如何在事件发生时自毁?

JAVA:根据变量的值调用类方法