2012-01-21 67 views
2

好吧,我有這個功能:如何在特定標籤中包含JavaScript文件?

/* jsHandler.js */ 
function inc(filename) 
{ 
var body = document.getElementsByTagName('body').item(0); 
script = document.createElement('script'); 
script.src = filename; 
script.type = 'text/javascript'; 
body.appendChild(script) 
} 

什麼,我想是擴展腳本告訴JS那裏插入js.file一樣,說我在html中有這樣的:

<div id="mydiv"></div> 
<iframe id="myiframe"></iframe> 

我打電話

inc(this.js, mydiv) 

包括在div 「mydiv」 的js.file,

導致:

<div id="mydiv"><script src="this.js" type="text/javascript"></script></div> 

我該怎麼做?

+2

你爲什麼要這麼做? –

+1

@DarkFalcon提出了一個有效的觀點。沒有理由在節點中包含腳本文件,它沒有任何區別。無論如何,腳本會被瀏覽器評估和執行。 – jAndy

+2

預測未來的問題「如何確定在哪個標記腳本中執行」 – Esailija

回答

1

嘗試......

/* jsHandler.js */ 
function inc(filename,target) 
{ 
var targetelement= document.getElementById(target); // get the target element 
script = document.createElement('script'); 
script.src = filename; 
script.type = 'text/javascript'; 
targetelement.appendChild(script); // add the script to the target 
} 
+0

謝謝!正是我一直在尋找的!太好了!並且感謝您的快速回復 - 並且對我的遲到感到抱歉! – suri

+0

沒問題。不要忘記用左側的刻度「接受」答案。 – graphicdivine

1

你總是挑自己body元素

var body = document.getElementsByTagName('body').item(0); 

,只需追加script標籤給它:

body.appendChild(script) 

你想要做
選擇你的目標元素,並追加它有什麼。

var target = document.getElementsById(mydiv); 
// ... other code lines 
target.appendChild(script) 
+0

是的,我知道這一點,但雖然我能夠說出需要改變的東西,但我還沒有在js中,自己來做...... :-(非常感謝! – suri

相關問題