javascript - 将 script 标签添加到 div 元素并加载代码

标签 javascript html dom

好的,这就是我遇到的问题。我发现了数百个类似的线程,但没有一个能解决问题。

我得到了 < div id="ad_space_id">< /div> 元素。 我想要做的就是向该 div 添加一个脚本标签。我所做的是:

src = https://ad.doubleclick.net/ddm/adj/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?

var adScript = document.createElement('script');
adScript.type = 'text/javascript';
adScript.setAttribute('src', src);
document.getElementById(adDivId).appendChild(adScript);

这一切都应该动态完成,即在页面加载之后。我从 XMLHttpRequest 获取的 src。

当我查看 html 输出时,一切看起来都很好:

<div id="ad_space_1"><script type="text/javascript"
 src="https://ad.doubleclick.net/ddm/adj/N378.150781.4704472308521/B5632202.128522416;sz=300x250;ord= [timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=?"></script>

</div>)

我的问题是,代码无法执行。 (如果我将该代码粘贴到 html 文件中并将其加载到浏览器中,它就可以正常工作)。

有人可以帮忙吗?!?

最佳答案

由于脚本标签位于元素内部,因此它不会执行

您需要了解有关 DOM(文档对象模型)如何加载以及 javascript 如何加载的更多信息

当您尝试执行 javascript 时,您的 Div 尚未准备好。

您应该观看本教程中的视频 6 和 7,它解释了很多 JavaScript 加载以及放置脚本代码的重要性:

https://www.youtube.com/watch?v=GeOSQcmLAtw&index=6&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b

为了确保 div 加载到 DOM 中,您需要将其放在 Html 的前面(上方),脚本函数应放置在结束 body 标记之前,以便 DOM 准备好与您的脚本代码进行交互它

<div id="ad_space_id"></div>

<script type="text/javascript">
    // function call to do something with the div
</script>

关于javascript - 将 script 标签添加到 div 元素并加载代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38011143/

相关文章:

javascript - 左边的侧边栏需要两侧

javascript - jQuery + MarkItUp + Polymer - 让它工作?

javascript - IndexedDB:避免回调 hell

javascript - Vim 一直在 html 文件中搞乱我的 javascript 语法

javascript - 将添加到文本框中的文本保存在 DOM 中

javascript - window.on 加载函数只在一个页面上执行

响应式设计的 HTML/CSS 居中问题

javascript - 在按钮上关闭响应响应左栏单击 jquery C#

javascript - 当在没有目标元素的情况下调用 addEventListener 时,它默认为什么元素?

html - 什么是 HTML "is"属性?