我有一个"嵌入"元件
<EMBED id="embed"
width="100%" height="95%">
我需要将src添加到此标记中。
<script type="text/javascript">
var source = localStorage.mySrc;
var myEmbed = document.getElementById("embed");
myEmbed.setAttribute("src", source);
//jQuery("#embed").attr("src", localStorage.mySrc);
</script>
当我粘贴此代码开始我有错误&#34;无法调用方法&#39; setAttribute&#39; of null&#34;。当粘贴到结束时,它的工作正常,但内容已经加载并且脚本不会影响操作
答案 0 :(得分:2)
当我将此代码粘贴到开始
时
您的脚本显示在<embed>
元素之前。
因此,在将<embed>
元素添加到DOM之前, 运行
因此,当您尝试修改<embed>
元素时,它不存在。
所以不要这样做。
粘贴结束时,其工作正常,但内容已加载且脚本不影响操作
如果在元素存在之后修改它也不起作用,那么使用JavaScript创建整个元素。
var myEmbed = document.createElement("embed");
myEmbed.setAttribute("src", source);
document.body.appendChild(myEmbed);
答案 1 :(得分:-1)
如果在
之前添加src<EMBED id="embed" width="100%" height="95%">
被添加到页面,给你错误是正常的
使用document.ready,以这种方式,将在加载页面时添加src并
<EMBED id="embed" width="100%" height="95%">
将添加到页面
所以:
$( document ).ready(function() {
var source = localStorage.mySrc;
var myEmbed = document.getElementById("embed");
myEmbed.setAttribute("src", source);
//jQuery("#embed").attr("src", localStorage.mySrc);
});