2017-04-24 64 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

相關問題