问题:
我想做类似的事情:
var code = (<ins>...</ins><script>...</script>)
document.getElementById("rightScroll").append(code);
正确的语法是什么?
编辑:当然这种语法不正确,这就是我在这里要求解决方案的原因。
状况:
每次用户滚动rightScroll
100vh
答案 0 :(得分: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);
答案 1 :(得分:1)
您需要将元素创建为dom元素:
var ins = document.createElement("ins");
ins.className = 'adsbygoogle';
ins.style = 'display:block;width:300px;height:600px;margin-bottom: 20px;';
var attClient = document.createAttribute('data-ad-client');
attClient.value = '...';
ins.setAttributeNode(attClient);
var attSlot = document.createAttribute('data-ad-slot');
attSlot.value = '...';
ins.setAttributeNode(attSlot);
var myScript = document.createElement("script");
myScript.setAttribute('type', 'text/javascript');
myScript.innerHTML = '(adsbygoogle = window.adsbygoogle || []).push({});';
var rightScroll = document.getElementById("rightAdScroll");
rightScroll.appendChild(ins);
rightScroll.appendChild(myScript);