2017-04-24 68 views
0

问题:如何在div内以编程方式添加脚本元素?

我愿意做一些与此类似:

var code = (<ins>...</ins><script>...</script>) 

document.getElementById("rightScroll").append(code); 

什么是正确的语法?

编辑:当然这个语法是不正确的,这就是为什么我在这里要求一个解决方案。


状况:

元素将被添加到rightScroll每次用户滚动100vh

+0

我并不清楚你想要做什么,但从你所描述的事情来看,这感觉是错误的做法。 – j08691

+2

这个问题为什么标记为jquery? –

+1

可能重复的[不能附加

1

有一个在getElementById方法的错字,并正在构建的字符串不是引号。我粗略地引用了你提供的字符串,但它可能需要额外注意你的代码是...

var code = "<ins class=\"adsbygoogle\"" + 
     "style=\"display:block;width:300px;height:600px;margin-bottom: 20px;\"" + 
     "data-ad-client=\"...\"" + 
     "data-ad-slot=\"...\"></ins>" + 
     "<script>" + 
     "(adsbygoogle = window.adsbygoogle || []).push({});" + 
     "</script>"; 

document.getElementById("rightAdScroll").append(code); 
//     ^^ was missing "Id" 

只有在您的DOM元素上有一个append方法时,才会生效。 append是一种jQuery方法,但它并没有出现在这种情况下直接使用它。

我建议要么使2个来电:

var myElem = document.getElementById("rightAdScroll"); 
myElem.appendChild(insTag); 
myElem.appendChild(scriptTag); 

或使用jQuery(如果您有它加载的话):

$('#rightAdScroll').append(code) 
document.getElementById("rightAdScroll").append(code); 
+0

正如@Barmar在评论中指出的那样,'append'不是一个有效的DOM方法。 –

+0

对不起,在添加澄清之前点击输入 – scunliffe

相关问题