2013-01-09 120 views
0

執行腳本的結果我在那的onClick調用到下一個腳本一個簡單的HTML文件中的按鈕:顯示在一個HTML div標籤

function onShowTest() { 
    $('div#content').html('<script>alert("Hello")</script>'); 
}; 

所以基本上當我點擊按鈕,我只是得到一個警告。

我實際上想實現的是,在div標籤(content)中,我將看到腳本的結果,該腳本繪製了一些內容(不僅僅是示例中的警告,與示出的結果無關在div標籤中)。

此外,該函數位於其他一些名爲utils.js的文件中。

我試過使用jQuery.getScript()但我只是無法得到它的工作。

+1

執行的腳本沒有返回值,它只是有副作用。因此,在你的代碼片段中,無論腳本標記包含什麼,你都會將'undefined'傳遞給'html()'函數。 –

+0

@ user550413你只是試圖使用utils.js中定義的函數向DIV注入一些內容? –

+0

好的,但我怎麼能實現我所描述的(甚至以其他方式)? – user550413

回答

3

要在原地生成HTML,您需要使用類似document.write之類的東西,但這隻適用於解析時間。一旦HTML文檔完成,調用它將啓動一個新文檔並刪除現有內容。

如果你想在某個地方生成HTML,那麼你需要使用DOM操作來完成它,並且你不能根據腳本元素的出現位置來完成它。

如果你想繪製東西,那麼你需要使用SVG,畫布或其他API來創建圖像。 SVG只是更多的DOM操作。畫布首先需要DOM操作來創建一個畫布元素,然後在該元素上調用canvas API方法。

如果你想要的代碼要去做那些來自其他地方,而是從「這裏」得到了目標,那麼你應該寫一個功能做處理,並通過它告訴它在哪裏執行參數操縱。

+0

最初我有幾個jsp文件,並使用ajax動態地將它們注入到同一個div標籤區域。然後我有一個jsp文件,其中包含一個繪製圖表的js腳本,但圖表部分未顯示。 – user550413